java操作mysql实现增删改查的方法
本文实例讲述了java操作mysql实现增删改查的方法。分享给大家供大家参考,具体如下:
首先,需要把MySQL与Java连接的jar(mysql-connector-java-5.1.6-bin.jar)包导入工程.
packagecom.cn.edu;
importjava.beans.Statement;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclasshelloworld{
privateConnectionconn=null;
PreparedStatementstatement=null;
//connecttoMySQL
voidconnSQL(){
Stringurl="jdbc:mysql://localhost:3306/hello?characterEncoding=UTF-8";
Stringusername="root";
Stringpassword="root";//加载驱动程序以连接数据库
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,username,password);
}
//捕获加载驱动程序异常
catch(ClassNotFoundExceptioncnfex){
System.err.println(
"装载JDBC/ODBC驱动程序失败。");
cnfex.printStackTrace();
}
//捕获连接数据库异常
catch(SQLExceptionsqlex){
System.err.println("无法连接数据库");
sqlex.printStackTrace();
}
}
//disconnecttoMySQL
voiddeconnSQL(){
try{
if(conn!=null)
conn.close();
}catch(Exceptione){
System.out.println("关闭数据库问题:");
e.printStackTrace();
}
}
//executeselectionlanguage
ResultSetselectSQL(Stringsql){
ResultSetrs=null;
try{
statement=conn.prepareStatement(sql);
rs=statement.executeQuery(sql);
}catch(SQLExceptione){
e.printStackTrace();
}
returnrs;
}
//executeinsertionlanguage
booleaninsertSQL(Stringsql){
try{
statement=conn.prepareStatement(sql);
statement.executeUpdate();
returntrue;
}catch(SQLExceptione){
System.out.println("插入数据库时出错:");
e.printStackTrace();
}catch(Exceptione){
System.out.println("插入时出错:");
e.printStackTrace();
}
returnfalse;
}
//executedeletelanguage
booleandeleteSQL(Stringsql){
try{
statement=conn.prepareStatement(sql);
statement.executeUpdate();
returntrue;
}catch(SQLExceptione){
System.out.println("插入数据库时出错:");
e.printStackTrace();
}catch(Exceptione){
System.out.println("插入时出错:");
e.printStackTrace();
}
returnfalse;
}
//executeupdatelanguage
booleanupdateSQL(Stringsql){
try{
statement=conn.prepareStatement(sql);
statement.executeUpdate();
returntrue;
}catch(SQLExceptione){
System.out.println("插入数据库时出错:");
e.printStackTrace();
}catch(Exceptione){
System.out.println("插入时出错:");
e.printStackTrace();
}
returnfalse;
}
//showdatainju_users
voidlayoutStyle2(ResultSetrs){
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("用户ID"+"/t/t"+"淘宝ID"+"/t/t"+"用户名"+"/t/t"+"密码");
System.out.println("-----------------");
try{
while(rs.next()){
System.out.println(rs.getInt("ju_userID")+"/t/t"
+rs.getString("taobaoID")+"/t/t"
+rs.getString("ju_userName")
+"/t/t"+rs.getString("ju_userPWD"));
}
}catch(SQLExceptione){
System.out.println("显示时数据库出错。");
e.printStackTrace();
}catch(Exceptione){
System.out.println("显示出错。");
e.printStackTrace();
}
}
publicstaticvoidmain(Stringargs[]){
helloworldh=newhelloworld();
h.connSQL();
Strings="select*fromju_users";
Stringinsert="insertintoju_users(ju_userID,TaobaoID,ju_userName,ju_userPWD)values("+8329+","+34243+",'mm','789')";
Stringupdate="updateju_userssetju_userPWD=123whereju_userName='mm'";
Stringdelete="deletefromju_userswhereju_userName='mm'";
if(h.insertSQL(insert)==true){
System.out.println("insertsuccessfully");
ResultSetresultSet=h.selectSQL(s);
h.layoutStyle2(resultSet);
}
if(h.updateSQL(update)==true){
System.out.println("updatesuccessfully");
ResultSetresultSet=h.selectSQL(s);
h.layoutStyle2(resultSet);
}
if(h.insertSQL(delete)==true){
System.out.println("deletesuccessfully");
ResultSetresultSet=h.selectSQL(s);
h.layoutStyle2(resultSet);
}
h.deconnSQL();
}
}
notice:
1、现在一般用的驱动是com.mysql.jdbc.Driver,以前的那个什么org的驱动虽然封装了com.mysql.jdbc.Driver,但不好用,过时了。
2、prepareStatement(sql)是statement的子类,比statement好用。
3、如果数据库中定义的是int值,那么sql语句中要把int单独提出来。如".....values("+8329+","+34243+",'mm','789')"
更多关于java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java文件与目录操作技巧汇总》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。