发表于: 2019-11-23 22:59:56

1 1176


今天完成的事情

完成jdbc curd的编写

工具类

public class jdbcConnect {
private static String driverName = "com.mysql.jdbc.Driver";
   private static String userName = "root";
   private static String userPwd = "admin";
   public static Connection getDBconnection(){
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8";
       //这里的3306/后面接的test是数据库名!
       try{
Class.forName(driverName);
           Connection con= DriverManager.getConnection(url, userName, userPwd);
           return con;
       }catch (Exception e) {
e.printStackTrace();
       }
return null;
   }

Curd类


public class Curd {
public static void main(String[] args) throws Exception {
Curd curd =new Curd();
       curd.add();
       curd.add();
       curd.add();
       curd.add();
       curd.selectAll();
       curd.del();
       curd.update();
   }
public void selectAll() throws Exception{
Connection con = jdbcConnect.getDBconnection();
       String sql = "select * from person";
       PreparedStatement pst = con.prepareStatement(sql);
       ResultSet rs = pst.executeQuery();
       while(rs.next()){
System.out.println(rs.getString("id")+"\t"+rs.getString("name")+"\t"+rs.getString("price")+"\t"+rs.getString("dsc"));
       }
// 关闭资源
       rs.close();
       pst.close();
       con.close();
   }
public void update() throws Exception{
Connection con = jdbcConnect.getDBconnection();
       String sql = "UPDATE person SET name=?,price=? WHERE id=?";
       PreparedStatement pst = con.prepareStatement(sql);
       pst.setObject(1, "小明");
       pst.setObject(2, 3988);
       pst.setObject(003, 1);
       pst.executeUpdate();
       //关闭资源
       pst.close();
       con.close();
   }
public void add() throws Exception{
Connection con = jdbcConnect.getDBconnection();
       String sql = "insert  into person (name,price,dsc) value(?,?,?)";
       PreparedStatement pst = con.prepareStatement(sql);
       pst.setObject(1, "小明");
       pst.setObject(2, 3988);
       pst.setObject(3, "1234211244");
       pst.executeUpdate();
       // 关闭资源
       pst.close();
       con.close();
   }

public void del() throws Exception{
Connection con = jdbcConnect.getDBconnection();
       String sql = "DELETE FROM Person WHERE id = ? ";
       PreparedStatement pst = con.prepareStatement(sql);
       pst.setObject(1, 2);
       pst.executeUpdate();
       // 关闭资源
       pst.close();
       con.close();
   }
}

直接用Maven命令跑单元测试。

  用java 命令 运行jar包 执行main方法

  测试一下连接DB中断后TryCatch是否能正常处理。    

//try catch异常测试
public class TryCatchTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
final String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8";
       final String name = "com.mysql.jdbc.Driver";
       final String user = "root";
       final String password = "admin";
       Connection conn = null;
       Class.forName(name);//指定连接类型
       conn = DriverManager.getConnection(url, user, password);//获取连接
       if (conn != null)
{
System.out.println("获取连接成功");
       } else {
System.out.println("获取连接失败");
       }

String sql = "INSERT INTO teacher (name, age) VALUES (?,?)";
       try {
conn.setAutoCommit(false);
           PreparedStatement pst = (PreparedStatement) conn.prepareStatement(" ");//准备执行语句
           pst.setObject(1, "小明");
           pst.setObject(2, 39);
           //手动关闭,中断连接
           conn.close();
           pst.executeUpdate();
           pst.close();
       }
catch (SQLException e){
           System.out.println("连接异常中断!!!!!!!!!!!!");
           System.out.println(e);
       }
}
}

try catch可以正常处理

检查一下自己的代码是否符合规范,如果DB的表格有改动,应该改哪些内容,需要多久。                       DB表格改动,字段名改变需要修改sql语句相关的内容或者增加别名,增加字段除sql修改以外可能还要修改PreparedStatement的参数

一天应该够了

今天遇到的问题

使用java 命令跑jar包的时候,找不到main方法

原因和解决办法:在pom文件中指定main方法的路径(src/java/),再打包成jar

明天要做的事情

1.数据库里插入100万条数据,对比建索引和不建索引的效率查别。再插入3000万条数据,然后是2亿条

2.完成对原有的jdbc curd ,springjdbctemplate,mybaitsdemo,springmybaits的代码修改,将代码规范化


                    



返回列表 返回列表
评论

    分享到