• jdbc+common_dbutil实现增删改查


    package day01;
    
    import java.sql.Connection;
    import java.sql.Date;
    import java.sql.Driver;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Savepoint;
    import java.sql.Statement;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    import org.apache.commons.dbutils.DbUtils;
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    import entity.Emp;
    import util.DBUtil;
    import util.DataUtil;
    
    /**
    *@author chenmeiqi
    *@version 2020年3月18日 上午11:39:55
    */
    public class Demo07 {
    
        public static void main(String[] args) throws ParseException {
            //common-dbutil的使用
            //1.加载驱动
            DbUtils.loadDriver("oracle.jdbc.OracleDriver");
            //2.使用连接池获取数据源dataSource
            ComboPooledDataSource cpds = new ComboPooledDataSource();//向上造型
            cpds.setJdbcUrl("jdbc:oracle:thin:@127.0.0.1:1521:orcl");
            cpds.setUser("scott");
            cpds.setPassword("Oracle11g");
            //cpds.setMaxPoolSize(5);
    //        Connection conn = null;
            try {
    //            conn = cpds.getConnection();
                //通过dataSource来创建一个sql执行器
                //pmdKnownBroken:检查可变参数和sql中可替换参数个数是否相等
                //如果有dataSource参数,则这个QueryRunner已经管理了某个数据源
                QueryRunner qr = new QueryRunner(cpds);
                //4.真正去执行
                //查询
    //            String sql = "select empno id,ename name,hiredate rzrq from emp where job=? and deptno=?";
    //            传参
    //            Object[] params = new Object[] {"SALESMAN",30};
    //            //ResultSetHandler接受结果集
    //            //注:以下写法取不到值,因为并没有循环ResultSet遍历赋值给实体类,所以要求数据库字段名和实体类的属性名,否则无法自动为我们赋值
    //            List<Emp> emps = qr.query(sql, params, new BeanListHandler<Emp>(Emp.class));
    //            for(Emp emp:emps) {
    //                System.out.println(emp.toString());
    //            }
                
                ////            DataUtil dateUtil = new DataUtil();
    //            String sql = "insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values (?,?,?,?,?,?,?,?)";
    //            Object[] param = new Object[] {0001,"chenmeiqi","开发",7839,dateUtil.utilToSql("2020-3-21"),5000,1000,30};
    //            int rows = qr.update(sql, param);
    //            System.out.println("影响行数:"+rows);
                
                ////            String sql = "delete from emp where empno=?";
    //            int rows = qr.update(sql, 1);
    //            System.out.println("影响行数:"+rows);
                
                //
                String sql = "update emp set sal=?,comm=? where empno=?";
                Object[] param = new Object[] {6000,2000,7839};
                int rows = qr.update(sql, param);
                System.out.println("影响行数:"+rows);
                
    //            Object[] param = new Object[] {0001,"chenmeiqi","开发",7839,dateUtil.utilToSql("2020-3-21"),5000,1000,30};
    //            int rows = qr.update(sql, param);
    //            System.out.println("影响行数:"+rows);
    //            qr.batch(sql, params);
                //如果没有dataSource参数,则这个QueryRunner没有关联数据源,那么真正执行查询的时候再进行关联
    //            QueryRunner qr = new QueryRunner(cpds);
    //            qr.batch(conn, sql, params)
                
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    
    }
  • 相关阅读:
    iOS遍历程序内某个文件夹下所有文件的属性
    CATransition 转场动画
    Xcode安装的推送证书所在目录
    UIMenuController 实现长按显示自定义菜单功能
    ios调用第三方程序打开文件,以及第三方调用自己的APP打开文件
    购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断
    iOS UINavigationController
    iOS9 URL Schme 白名单
    iOS9 HTTPS
    iOS9 后台定位
  • 原文地址:https://www.cnblogs.com/qilin20/p/12550578.html
Copyright © 2020-2023  润新知