DBUtils 使用方法


导包  jar  DBUtils.jar

工具类封装

 

import java.sql.SQLException;
import java.sql.Connection;

public class ConnectDb {
    private static String driveClassName = "com.mysql.jdbc.Driver";
    private static String url = "jdbc:mysql://192.168.1.161:3306/test?useUnicode=true&characterEncoding=utf8";

    private static String user = "root";
    private static String password = "e-playnow";

    public static Connection Connect(){
        Connection conn = null;

        //load driver
        try {
            Class.forName(driveClassName);
        } catch (ClassNotFoundException  e) {
            System.out.println("load driver failed!");
            e.printStackTrace();
        }

        //connect db
        try {
            conn = DriverManager.getConnection(url, user, password);
        } catch (SQLException e) {
            System.out.println("connect failed!");
            e.printStackTrace();
        }

        return conn;
    }
}

 

 

QueryRunner中提供对sql语句操作的API.

update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作


    QueryRunner qr=new QueryRunner();
    Connection conn=JDBCUtils.getConn();
    String sql="查询或修改语句";

    
    使用qr调用update和query
    返回值为相应行数
    int row=qr.update(conn,sql,sname);


查询比较特殊,使用ResultSetHandler接口,用于定义select操作后,怎样封装结果集.


    ArrayHandler    将结果集中的第一条记录封装到一个Object[]数组中,返回值为数组
    Object[] obj=qr.query(conn, sql,new ArrayHandler());

    ArrayListHandler   将结果集中的每一条记录都封装到一个Object[]数组中,数组在封装到List集合中。返回值为集合
    List<Object[]> arr=qr.query(conn, sql,new ArrayListHandler());    

    BeanHandler    将结果集中第一条记录封装到一个指定的javaBean中。返回值为对象
    Sort sort=qr.query(conn, sql,new BeanHandler<Sort>(Sort.class));结尾为固定写法

    BeanListHandler    将结果集写入到对象里,再写入list集合,返回值为集合
    List<Sort> arr=qr.query(conn, sql,new BeanListHandler<Sort>(Sort.class));    
    
    ColumnListHandler  将结果集中指定的列的字段值,封装到一个List集合中
    List<String> arr=qr.query(conn, sql,new ColumnListHandler<String>("sname"));

    ScalarHandler    它是用于单数据。例如select count(*) from 表操作。
    Long count=qr.query(conn, sql,new ScalarHandler<Long>());

posted @ 2019-04-09 19:44  一半人生  阅读(403)  评论(0编辑  收藏  举报