通过DButils与连接池C3P0实现对对数据库的增删改查操作

需要准备的有:
C3P0配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/yzh</property>
        <property name="user">root</property>
        <property name="password">root</property>
        <property name="">5</property>
        <property name="maxPoolSize">20</property>
    </default-config>
    <named-config name="oracle">
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/yzh</property>
        <property name="user">root</property>
        <property name="password">root</property>
    </named-config>
</c3p0-config>
//创建C3p0获取连接对象类

public class JDBCutil {
     
    private static DataSource cpds;

    static {
     
        cpds = new ComboPooledDataSource();
    }
    public static DataSource getDataSource(){
     
        return  cpds;
    }
}

//实现对数据库增删改的操作:

public class DButilsTest {
     

    /**
     * 对表数据进行增删改
     */

    /* 创建添加user数据 */
    @Test
    public void testadduser(){
     
        try {
     
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //创建sql语句
            String sql = "insert into user_1 values(5,?,?) ";
            //设置值
            Object[] parmes = {
     "xxy05", "xxy05"};
            //执行添加操作
            int row = qr.update(sql, parmes);
            //判断是否添加成功
            if (row > 0) {
     
                System.out.println("添加成功");
            } else {
     
                System.out.println("添加失败");
            }
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }


    /**删除数据**/
    @Test
    public void testDeleteuser(){
     
        try {
     
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //创建sql语句
            String sql = "delete from user_1 where id=?";
            //设置值
            Object[] parmes = {
     5};
            //执行删除操作操作
            int row = qr.update(sql, parmes);
            //判断是否添加成功
            if (row > 0) {
     
                System.out.println("删除成功");
            } else {
     
                System.out.println("删除失败");
            }
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }
    /**修改数据**/
    @Test
    public void testAlterUser(){
     
        try {
     
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //创建sql语句
            String sql = "update user_1 set userpwd=? where id=?";
            //设置值
            Object[] parmes = {
     "xxy0000000000",1};
            //执行删除操作操作
            int row = qr.update(sql, parmes);
            //判断是否添加成功
            if (row > 0) {
     
                System.out.println("修改成功");
            } else {
     
                System.out.println("修改失败");
            }
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }
}

//创建sql查询操作:

   /**
     * 查询所有数据
     */
    @Test
    public void testQueryAll() {
     
        try {
     
            //1.dbutils的核心类
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //2.编写sql语句
            String sql = "select * from user_1";
            //3,执行sql语句
            List<User> users = qr.query(sql, new BeanListHandler<User>(User.class));
            //4.结果集遍历user
            for (User user : users) {
     
                System.out.println("表数据:" + user);
            }
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }

    /**
     * 查询某个用户数据
     */
    @Test
    public void testQueryById() {
     

        try {
     
            //1.创建核心类
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //2.编写sql语句
            String sql = "select* from user_1 where id =?";
            //3.设置值
            Object[] parmes = {
     1};
            //4.执行查询操作
            List<User> users = qr.query(sql, new BeanListHandler<User>(User.class), parmes);//返回的是一个集合
            //5.对结果进行遍历
            System.out.println("您查询的表全部结果为:");
            for (User user : users) {
     
                System.out.println(user);
            }
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }


    /**
     * 查询所有用户的总个数
     */
    @Test
    public void testQueryCount() {
     

        try {
     
            //1.创建核心类
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //2.创建sql语句
            String sql = "select count(*) from user_1 ";
            //3.执行sql:注意这个地方返回的是一个数据不是一个集合
            Long counts = (Long) qr.query(sql, new ScalarHandler());
            //遍历集合
            System.out.println(counts);
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }

    /**
     * 查询所有 用户数据方法2
     */
    @Test
    public void testQueryUaerAll_1() {
     
        try {
     
            //1.创建核心类
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //2.创建sql语句
            String sql = "select * from user_1";
            //执行查询操作放到一个集合中
            //MapListHandler是讲sql中的列和列对应的值放到Map,key为列名 value值为列的记录
            //并且讲多条记录放到list当中
            List<Map<String, Object>> list = qr.query(sql, new MapListHandler());
            //4.结果集遍历
            for (Map<String, Object> map : list) {
     
                System.out.println(map);
            }

        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }

    /**
     * 查询数据
     */
    @Test
    public void testQueryUaerAll_2() {
     
        try {
     
            //1.创建核心类
            QueryRunner qr = new QueryRunner(JDBCutil.getDataSource());
            //2.创建sql语句
            String sql = "select * from user_1";
            //2.执行查询操作放到一个集合,用于查询某列上的数据
            //并且讲多条记录放到list当中
            List<Object> list = qr.query(sql, new ColumnListHandler<Object>());
            //new ColumnListHandler("列名")
            //3.结果集遍历
            for (Object object : list) {
     
                System.out.println(object);
            }
        } catch (SQLException e) {
     
            e.printStackTrace();
        }
    }
}







你可能感兴趣的:(java学习,java,sql,mysql)