美文网首页javaJava 程序员Java
阿里巴巴建议的线程池创建方式,你用上了吗?

阿里巴巴建议的线程池创建方式,你用上了吗?

作者: 一只程序猿哟 | 来源:发表于2022-01-10 14:30 被阅读0次

    环境

    MySQL 5.5 版本

    eclipse

    MySQL 连接驱动 mysql-connector-java-5.1.18-bin.jar

    mysql8.0之前的版本与之后的版本使用的jar包是不同的,在使用时也有一定的区别。这里,我的 MySQL 版本为 5.5。

    准备工作

    将 jar 包添加到项目中,右键项目,如下,选择Configure Build Path...

    将刚才下载好的 jar 包添加进去即可

    增删查改操作

    首先,建立一个数据库模板 DBConfig.java

    注意:要提前建立一个数据库,然后在JDBC_URL中填写你自己的数据库名称

    /*

    * 若尘

    */package test;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;/**

    * 数据库连接和关闭工具类

    * @author ruochen

    * @version 1.0

    */publicclassDBConfig{/** 定义数据库驱动类名称 */privatestaticfinalStringJDBC_DRIVER="com.mysql.jdbc.Driver";/** 数据库连接地址 */privatestaticfinalStringJDBC_URL="jdbc:mysql://127.0.0.1:3306/JavaDB?characterEncoding=utf8";/** 数据库用户名 */privatestaticfinalStringJDBC_USERNAME="root";/** 数据库密码 */privatestaticfinalStringJDBC_PASSWORD="root";/** 数据库连接对象 */privatestaticConnectionconn = null;/**

    * 获得链接

    * @return

    */publicstaticConnectiongetConnection() {try{try{// 加载驱动程序Class.forName(JDBC_DRIVER);System.out.println("加载成功");}catch(java.lang.ClassNotFoundExceptione) {System.out.println("ForName: "+ e.getMessage());}conn =DriverManager.getConnection(JDBC_URL,JDBC_USERNAME,JDBC_PASSWORD);}catch(Exceptione) {e.printStackTrace();}returnconn;}publicstaticvoid closeConnection(ResultSetrs,Statementps,Connectionconn) {try{if(null != rs) {rs.close();}if(null != ps) {ps.close();}if(null != conn) {conn.close();}}catch(Exceptione) {System.out.println("Close connection error");e.printStackTrace();}}}

    建表操作 CreateTest.java

    /*

    * 若尘

    */packagetest;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;/** * JDBC链接数据库,创建数据表  *@authorruochen *@version1.0 */publicclassCreateTest{publicstaticvoidmain(String[] args){Connection conn = DBConfig.getConnection();try{Statement st = conn.createStatement();ResultSet re = conn.getMetaData().getTables(null,null,"student",null);if(re.next()) {System.out.println("表已经存在");}else{// 建表语句String sql ="create table student ( "+"id char(10),"+"name char(16),"+"score integer"+")";st.executeUpdate(sql);System.out.println("创建成功");}DBConfig.closeConnection(re, st, conn);}catch(SQLException e) {System.out.println("SQLException: "+ e.getMessage());}}}

    加载成功

    创建成功

    插入操作 InsertTest.java

    /*

    * 若尘

    */packagetest;importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.Statement;/** * 数据表中插入数据  *@authorruochen *@version1.0 */publicclassInsertTest{publicstaticvoidmain(String[] args){Connection conn = DBConfig.getConnection();try{Statement st = conn.createStatement();String r1 ="insert into student values('0001', '小王', 80)";String r2 ="insert into student values('0002', '小李', 82)";String r3 ="insert into student values('0003', '小张', 90)";st.executeUpdate(r1);st.executeUpdate(r2);st.executeUpdate(r3);System.out.println("插入成功");DBConfig.closeConnection(null, st, conn);}catch(SQLException e) {e.printStackTrace();}}}

    加载成功

    插入成功

    更新操作 UpdateTest.java

    /*

    * 若尘

    */packagetest;importjava.sql.Connection;importjava.sql.PreparedStatement;/** * 更新数据库操作  *@authorruochen *@version1.0 */publicclassUpdateTest{publicstaticvoidmain(String[] args){Connection conn = DBConfig.getConnection();String[] id = {"0002","0003"};int[] score = {70,60};PreparedStatement ps;try{ps = conn.prepareStatement("Update student set score=? where id=?");inti =0, idlen = id.length;do{ps.setInt(1, score[i]);ps.setString(2, id[i]);ps.executeUpdate();System.out.println("修改成功");++i;}while(i < idlen);DBConfig.closeConnection(null, ps, conn);}catch(Exception e) {e.printStackTrace();}}}

    加载成功

    修改成功

    修改成功

    删除、查询操作 SearchTest.java

    /*

    * 若尘

    */package test;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.Statement;/**

    * 删除、查询数据库操作

    * @author ruochen

    * @version 1.0

    */publicclassSearchTest{publicstaticvoid main(String[] args) {Connectionconn =DBConfig.getConnection();try{Statementst = conn.createStatement();PreparedStatementps = conn.prepareStatement("delete from student where id=?");ps.setString(1,"0002");ps.executeUpdate();System.out.println("删除成功");ResultSetrs = st.executeQuery("select * from student");while(rs.next()) {System.out.println(rs.getString("id") +"\t"+ rs.getString("name") +"\t"+ rs.getShort("score"));}st.close();DBConfig.closeConnection(rs, ps, conn);}catch(Exceptione) {e.printStackTrace();}}}

    加载成功删除成功0001小王800003小张60

    相关文章

      网友评论

        本文标题:阿里巴巴建议的线程池创建方式,你用上了吗?

        本文链接:https://www.haomeiwen.com/subject/qkvmcrtx.html