zoukankan      html  css  js  c++  java
  • 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();
            }
            
        }
    
    }
  • 相关阅读:
    城市漫游-牛客
    同步和阻塞理解
    避免用户多次点击,造成重复提交
    页面不可编辑
    正则表达式-简单实例
    从字符串提取一个列表
    JS对象、基本类型和字面量的区别
    本地数据访问时出现跨域问题Cross origin requests are only supported for protocol schemes: ……
    checkbox操作判断 Jquery选择器
    HTML5经典实例——1基础语法和语义
  • 原文地址:https://www.cnblogs.com/qilin20/p/12550578.html
Copyright © 2011-2022 走看看