zoukankan      html  css  js  c++  java
  • JDBC和DBUtils区别(查询时jdbc只能返回ResultSet需要po转vo,dbutils返回的BeanListHandler与BeanHandler对应集合与对象)

    17:34 2013/6/7
    JDBC
        //添加客户
        public void addNewCustomer(Customer c) throws DAOException {
            Connection conn = null;
            PreparedStatement pst = null;
            try{
                conn = JDBCUtils.getConnection();
                pst = conn.prepareStatement("insert into customer values(?,?,?,?,?,?,?,?)");
                //赋值
                pst.setString(1, c.getCid());
                pst.setString(2, c.getName());
                pst.setString(3, c.getGender());
                pst.setDate(4, new java.sql.Date(c.getBirthday().getTime()));
                pst.setString(5,c.getCellphone());
                pst.setString(6, c.getEmail());
                pst.setString(7, c.getType());
                pst.setString(8,c.getDescription());
                //执行
                pst.executeUpdate();
            }catch(Exception ex){
                throw new DAOException(ex);
            }finally{
                JDBCUtils.release(conn, pst, null);
            }
        }
    查:
        //查询所有客户
        public List<Customer> findAllCustomer() throws DAOException {
            List<Customer> list = new ArrayList<Customer>();
            
            Connection conn = null;
            PreparedStatement pst = null;
            ResultSet rs = null;
            try{
                conn = JDBCUtils.getConnection();
                pst = conn.prepareStatement("select * from customer");
                rs = pst.executeQuery();
                while(rs.next()){
                    //取每个客户
                    Customer c = new Customer();
                    c.setCid(rs.getString("cid"));
                    c.setName(rs.getString("name"));
                    c.setGender(rs.getString("gender"));
                    c.setBirthday(rs.getDate("birthday"));
                    c.setCellphone(rs.getString("cellphone"));
                    c.setEmail(rs.getString("email"));
                    c.setType(rs.getString("type"));
                    c.setDescription(rs.getString("description"));
                    
                    //放入集合
                    list.add(c);
                }
            }catch(Exception ex){
                throw new DAOException(ex);
            }finally{
                JDBCUtils.release(conn, pst, rs);
            }
            
            return list;
        }
    JDBC连接池DBUtils
    增:
        public void create(User user){
            try {
                // 1 核心对象
                QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
                // 2 sql
                String sql = "insert into user(id,username,password) values(?,?,?)";
                // 3 准备数据
                Object[] params = {user.getId(),user.getUsername(),user.getPassword()};
                // 4 执行
                runner.update(sql, params);
            } catch (SQLException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
    查:
        public User findByUsernameAndPassword(String username, String password) {
            try {
                QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
                
                String sql = "select * from user where username = ? and password = ?";
                
                Object[] params = {username,password};
                
                return runner.query(sql, new BeanHandler<User>(User.class) ,params);
            } catch (SQLException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        
        
        
    }
  • 相关阅读:
    java类型比较_Java数据类型的比较
    学习方法-1:海绵学习法
    性能测试:TPS和QPS的区别
    代码反思
    网站TLS升级 1.0&1.1--1.2
    Mysql常用语法
    初级测试工程师面试指南
    postman实战之断言
    postman预处理脚本实战
    什么是HTTP超文本协议
  • 原文地址:https://www.cnblogs.com/YingYue/p/3741938.html
Copyright © 2011-2022 走看看