20201117_徐晨生

知识总结:

对jdbc的封装。
1.链接数据库
2.增删改方法
3.查询方法
4.给占位符赋值
5.关闭资源

再建立一个class进行数据的测试
具体命令如下:

1.封装
package com.itlaobing.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DBUtils {
    Connection conn=null;
    PreparedStatement psts=null;
    ResultSet rs=null;
    //链接数据库
    public void getConnection() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
      conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/cpi", "root", "");
    }
    //增删改方法
    public int executeUpdate(String sql,Object...values) throws Exception {
        getConnection();
        psts = conn.prepareStatement(sql);
        setObject(values);
        int i=psts.executeUpdate();
        return i;
    }
    //查询方法
    public ResultSet executeQuery(String sql,Object...values) throws Exception {
        getConnection();
        psts = conn.prepareStatement(sql);
        setObject(values);
        rs = psts.executeQuery();
        return rs;
    }
    //给占位符赋值
    public void setObject(Object...values) throws Exception {
        if(values  != null && values.length >0) {
            for (int i = 0;i<values.length;i++) {
                  psts.setObject(i+1, values[i]);
              }
        }
    }
    //关闭资源
    public void guan() throws Exception {
        if(rs  != null || rs.isClosed() == false) {
            rs.close();
    }
        if(psts  != null || psts.isClosed() == false) {
            psts.close();
    }
        if(conn  != null || conn.isClosed() == false) {
            conn.close();
    }
    }
}
2.测试
增(删、改)
package com.itlaobing.jdbc;
import java.sql.ResultSet;
public class Text {
    public static void main(String[] args) {
      DBUtils utils=new DBUtils();
                try {
                    String sql="INSERT INTO cpidatamanage(dataType,`area`,`date`,goodsName,price,unit,remark)VALUES(?,?,?,?,?,?,?)";
                    Object []values = {"水果类","陕西省","2020-10","香蕉","4","500g","无添加剂"};
                    int i=utils.executeUpdate(sql, values);
                    if(i>0) {
                          System.out.println("添加成功");
                      }else {
                          System.out.println("添加失败");
                      }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
}
修改
package com.itlaobing.jdbc;
import java.sql.ResultSet;
public class Text {
        public static void main(String[] args) {
      DBUtils utils=new DBUtils();
                try {
                    String sql="SELECT * FROM cpidatamanage WHERE date=?";
                    Object[]values = {"2020-11"};
                    ResultSet rs=utils.executeQuery(sql, values);
                    while (rs.next()) {
                         System.out.print(rs.getObject("goodsName")+"\t");
                         System.out.println(rs.getObject("price"));
                     }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
}

学习心得:

今天是学习的第二天,我们学习了对昨天的增删改查的封装,封装起来多了一个给占位符赋值。今天操作起来感觉也不是那么困难了,封装后比之前的少了很多重复的命令,命令的利用率高了很多,再测试执行后,就完成了对表格的改动。听了老师的讲解,知道了这是连接服务端和数据库最简单的封装,也了解到了很多软件都是通过这种运行方式来运行的,期待明天的学习内容。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1