public class testmysql {
public static void main(String[] args){
String url = "jdbc:mysql://localhost:3306/nlacwu";//定义mysql数据库的URL
String user = "root"; //定义访问数据库的帐号
String password = "03071249"; //定义访问数据库的密码
// String sql = "insert into test values(100,100)"; //定义查询的SQL语句
Connection conn = null; //定义数据库的连接conn
ResultSet rs = null; //定义查询结果集rs
PreparedStatement ps=null;
try {
Class.forName("com.mysql.jdbc.Driver"); //<第2步>注册mysql数据库驱动
conn = DriverManager.getConnection(url,user,password);//<第3步>获取数据库连接
//stmt = conn.createStatement(); //<第4步>获取盛装SQL语句的载体stmt
//rs = stmt.executeQuery(sql); //<第5步>获取查询结果集rs
// String sqlparse="insert";
// String sqlparse="delete";
String sqlparse="update";
if (sqlparse=="insert"){
for (int i=0;i<=99;i++){
sqlparse = "insert into test(id,name) values(?,?)";
ps = conn.prepareStatement(sqlparse);
ps.setInt(1,i);
ps.setInt(2,i);
ps.executeUpdate();
}
}
else if(sqlparse=="delete"){
for (int i=0;i<=99;i++){
sqlparse = "delete from test where id=?";
ps = conn.prepareStatement(sqlparse);
ps.setInt(1, i);
ps.executeUpdate();
}
}
else{
for (int i=0;i<=99;i++){
sqlparse = "update test set name=? where id=?";
ps = conn.prepareStatement(sqlparse);
ps.setInt(1,i+1);
ps.setInt(2,i);
ps.executeUpdate();
}
}
// ps = conn.prepareStatement(sql);
// ps.executeUpdate();
// while(rs.next())
// {
// System.out.println(rs.getString("id")); //输出结果集rs,若rs不为null,即获取连接
// }
} catch (Exception e) {
e.printStackTrace();
}finally
{
// close rs
try {
if (rs !=null) {
rs.close();
}
}catch (SQLException e) {
e.printStackTrace();
}
// close ps
try {
if (ps != null) {
ps.clearParameters();
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
// close conn
try {
if (conn !=null) {
conn.close(); //<第8步>关闭数据库连接
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
sql语句中的value设置应该是常量,如果要能够设置成变量,应该用问号表示,然后在下面根据问号的个数来设置,具体见红色的代码所示。
这里是在windows环境下,我后来把它移植到linux环境下,我的方法是直接把这个project通过xftp传到linux中,然后因为要通过jdbc连接mysql,所以再在linux下的eclipse中添加相应的包——mysql-connector-java-5.1.13-bin.jar,运行后出现错误:Access denied for user 'root'@'localhost' (using password: YES)这点我很奇怪,我明明设置了密码,怎么会说我不应该用密码登陆呢?网上很多人说是因为密码错误。。。。我觉得我这种情况应该不是,后来我偶然间去project的Java Build Path里头看,发现问题了,xftp传递过来后居然把以前在windows下添加的jar包路径也保存下来了,但是显然路径已经完全不对了。
具体看下图:
正确的设置应该是:
这样就可以了。。。 运行后果然是。。。。所以说:尽信书不如无书!!!什么事儿都要自己想明白。。。