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);
            }
        }
        
        
        
    }
  • 相关阅读:
    在MAC OS X系统上面安装mysql
    在项目中使用DSOFramer需要注意的一些地方
    记一次python安装PIL库所遇到的事
    Calendar.compareTo 比较时间的大小
    String 时间类型怎么进行比较大小?
    ElasticSearch--二、基本语法(创建索引,查询数据)
    ElasticSearch--一、使用场景以及对应软件配置安装
    Linux下nginx反向代理负载均衡几种方式以及配置
    node环境使用lowdb轻量数据库以及基本用法
    jQuery 日常笔记
  • 原文地址:https://www.cnblogs.com/YingYue/p/3741938.html
Copyright © 2011-2022 走看看