【每日Java】基于JDBC结构优化和数据库连接池的工具类封装

1、传统JDBC7步骤:

public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/productsystem?useUnicode=true&character=utf-8";//指定连接的数据库地址
        //时数据库地址为jdbc:mysql:(协议名)//localhost(服务器的地址在本地主机):3306(数据库端口号)/productsystem(库名)
        //?useUnnicode=true&character=utf-8 (?)是传递参数的关键字,传递的参数为可以使用Unnicode编码和字符格式为UTF-8
        String user = "root";//用户名
        String password = "";
        try {
            //1.注册驱动,加载Driver类
            Class.forName("com.mysql.jdbc.Driver");//执行类加载
            //2.获取连接对象
            Connection con = DriverManager.getConnection(url,user,password);
            System.out.println("连接成功");
            //3.编写sql
            String sql = "select * from t_product limit 0,4";
            //String sql = "insert into t_product (product_name,price,product_type_id) values('宏碁记笔记本旗舰版',5000.00,6)";
            //4.声明sql的执行者
            Statement state = con.createStatement();
            //5.执行sql语句,返回受影响的行数
            ResultSet rs = state.executeQuery(sql);
            while(rs.next()) {//判断当前指针指向的行是否非空(默认指向表中第一行)
                //类似于迭代器中的hasNext()方法
                int id = rs.getInt("id");
                String name = rs.getString("product_name");
                double price = rs.getDouble("price");
                int type = rs.getInt("product_type_id");
                System.out.println(id+" "+name+" "+price+" "+type);
                //get方法在循环语句中时仅返回值,在循环语句末尾则返回值后将指针移向下一行
                //类似于迭代器中的next()方法
            }
            //6.打印执行结果
            //System.out.println(rows);
            //关闭资源
            state.close();
            con.close();
        }
        catch (SQLException e) {
                e.printStackTrace();
        }
        catch (ClassNotFoundException e) {
                e.printStackTrace();
        }
    }

2、优化:

①访问数据库设置连接信息的步骤是可以封装的,且用户应该可以从本地修改此连接信息。

②连接数据库和关闭资源的步骤是可以封装的。

③对数据库进行查询操作和更新操作是可以封装的。

注意:只有sql语句根据系统需求而定,不同方法不一样,无法封装。

经过封装后,JDBC7步骤被简化为两步,即JDBC的作用,编写一个sql语句,并执行它获得它从数据库中得到的返回值。

3、封装

封装图:

封装包与工具类:

源码实现:

①访问数据库设置连接信息的步骤是可以封装的,且用户应该可以从本地修改此连接信息。

本地文件,放在src目录中。

②连接数据库和关闭资源的步骤是可以封装的。

③对数据库进行查询操作和更新操作是可以封装的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值