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程序设计有所帮助。