基于DBUtil工具和C3p0连接池操作Mysql数据库的总结代码部分

用了很久的JDBC+DBCP操作数据库,回过头发现DBUtil+C3p0更加的简单方便,大大减少了代码的书写,使代码更加的优化!!

下面是DBUtil+C3p0操作数据库的  增、删、改、查。

public class Test {

    /**
     * 添加
     */

    @Test
    public void testAddUser() {
        try {
            // 创建核心类QueryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写SQL语句
            String sql = "insert into tbl_user values(null,?,?)";
            // 为占位符设置值
            Object[] params = { "露西", "汤姆" };
            // 执行添加操作
            int rows = qr.update(sql, params);

   
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    /**
     * 根据id更新用户
     * 
     */

    @Test
    public void testUpdateUserById() {
        try {
            // 创建核心类QueryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写SQL语句
            String sql = "update tbl_user set upassword=? where uid=?";
            // 为站位符设置值
            Object[] params = { "tom", 2001 };
            // 执行添加操作
            int rows = qr.update(sql, params);
           
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    /**
     * 根据id删除用户
     */

    @Test
    public void testDeleteUserById() {
        try {
            // 创建核心类QueryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写SQL语句
            String sql = "delete from tbl_user where uid=?";
            // 为站位符设置值
            Object[] params = {23001};
            // 执行添加操作
            int rows = qr.update(sql, params);

            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
 

查询数据库的代码:

public class Test{

    /*
     * 查询所有用户
     */

    @Test
    public void testQueryAll() {
        try {
            // 获取核心类queryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写sql语句
            String sql = "select * from tbl_user";
            // 执行查询操作
            List<User> users = qr.query(sql, new BeanListHandler<User>(User.class));
            // 对结果集集合进行遍历
            for (User user : users) {
                System.out.println(user.getUname() + " : " + user.getUpassword());
            }

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
    
    /*
     * 根据id查询用户
     */

    @Test
    public void testQueryUserById() {
        try {
            // 获取核心类queryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写sql语句
            String sql = "select * from tbl_user where uid=?";
            //为占位符设置值
            Object[] params = {21};
            // 执行查询操作
            User user = qr.query(sql, new BeanHandler<User>(User.class), params);
            System.out.println(user.getUname() + " : " + user.getUpassword());
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
    
    /*
     * 根据所有用户的总个数
     */

    @Test
    public void testQueryCount() {
        try {
            // 获取核心类queryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写sql语句
            String sql = "select count(*) from tbl_user";
            // 执行查询操作
            Long count = (Long) qr.query(sql, new ScalarHandler());
            System.out.println(count);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
    
    /*
     * 查询所有用户方法
     */

    @Test
    public void testFindAll() {
        try {
            // 获取核心类queryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写sql语句
            String sql = "select * from tbl_user";
            // 执行查询操作
            List<Map<String, Object>> list = qr.query(sql, new MapListHandler());
            // 对结果集集合进行遍历
            for (Map<String, Object> map : list) {
                System.out.println(map);
            }

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
    
    /*
     * 查询所有用户方法
     */

    @Test
    public void testFindAll2() {
        try {
            // 获取核心类queryRunner
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            // 编写sql语句
            String sql = "select * from tbl_user";
            // 执行查询操作
            List<Object> list = qr.query(sql, new ColumnListHandler("uname"));
            // 对结果集集合进行遍历
            for (Object object : list) {
                System.out.println(object);
            }

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}
 

猜你喜欢

转载自blog.csdn.net/jinchunzhao123/article/details/81159438
今日推荐