20201117_肖昂

学习总结:

今天学习内容jdbc数据的封装

  1. 链接数据库
  2. 增删改的方法
  3. 查询方法
  4. 给占位符赋值
  5. 关闭资源另外再创建一个class包来一起运行来实现与数据库连接

以下是部分程序语句package com.itlaobing.jdbc;
DBUtils:

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);
        ResultSet 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 close() throws Exception {
        if(rs !=null  || rs.isClosed()==false) {
            psts.close();
        }
        if(rs !=null  || rs.isClosed()==false) {
            psts.close();   
    }
        if(rs !=null  || rs.isClosed()==false) {
            psts.close();
    }
    }
}

Test增删改:package com.itlaobing.jdbc;
public class Test {
    public static void main(String[] args) {
        DBUtils utils=new DBUtils();
        String sql ="DELETE FROM cpidatamanage WHERE cpiId=?";
        Object []values = {8};
        try {
            int i = utils.executeUpdate(sql, values);
            if(i>0) {
                System.out.print("删除成功");
            }else {
                System.out.print("删除失败");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
    }
}
Test查询:package com.itlaobing.jdbc;
import java.sql.ResultSet;
public class cx {
    public static void main(String[] args) {
        DBUtils utils=new DBUtils();
        String sql ="SELECT*FROM cpidatamanage ";
        Object []values = {};
        try {
            ResultSet rs = utils.executeQuery(sql, values);
            while(rs.next()) {
                System.out.print(rs.getObject("dataType"));
                System.out.println(rs.getObject("price")+"\n");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
}
    }
}

学习心得:

今天是第二天的学习,学习了封装的一系列操作,就昨天相比较来说,差不多多了一个赋值的操作,改变的是需要用多个public void语句来封装各部分操作,它的实用性比起昨天的分部分操作来的更高,删除了那些重复的命令。整个操作下来会感觉更加工整、更有条理,但它的操作会更加的细腻。随着更深层次的接触和老师的讲解,会对它产生更多的兴趣,慢慢的会将其与实际生活相联系,会慢慢想明白以前碰到又不知其缘由的现象,总之,期待接下来的学习。

评论