• JDBC 使用SimpleJdbcTemplate实现Dao


    public interface UserDao {
        public void addUser(User user);

        public User getUser(int userId);

        public User findUser(String loginName, String password);

        public void update(User user);

        public void delete(User user);

    }

     

     

     

     

    public class UserDaoSpringImpl implements UserDao {
        private SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(
                JdbcUtils.getDataSource());

        public void addUser(User user) {
            String sql = "insert into user (name, money, birthday) values (:name, :money, :birthday)";
            SqlParameterSource param = new BeanPropertySqlParameterSource(user);
            KeyHolder keyHolder = new GeneratedKeyHolder();
            this.simpleJdbcTemplate.getNamedParameterJdbcOperations().update(sql,
                    param, keyHolder);
            user.setId(keyHolder.getKey().intValue());
        }

        public void delete(User user) {
            String sql = "delete from user where id=?";
            this.simpleJdbcTemplate.update(sql, user.getId());
        }

        public User findUser(String loginName, String password) {
            String sql = "select id, name, money, birthday  from user where name=?";
            return this.simpleJdbcTemplate.queryForObject(sql,
                    ParameterizedBeanPropertyRowMapper.newInstance(User.class),
                    loginName);
        }

        public User getUser(int userId) {
            String sql = "select id, name, money, birthday  from user where id=?";
            return this.simpleJdbcTemplate.queryForObject(sql,
                    ParameterizedBeanPropertyRowMapper.newInstance(User.class),
                    userId);
        }

        public void update(User user) {
            String sql = "update user set name=?, birthday=?, money=? where id=? ";
            this.simpleJdbcTemplate.update(sql, user.getName(), user.getBirthday(),
                    user.getMoney(), user.getId());

            sql = "update user set name=:name, birthday=:birthday, money=:money where id=:id ";
            this.simpleJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(
                    user));
        }

    }

  • 相关阅读:
    【C#语言规范版本5.0学习】2 词法结构(一、简述)
    【C#语言规范版本5.0学习】1.11 特性
    TP5.1 实现超时未支付订单自动关闭
    tp5.1使用队列
    开启队列时,命令行输入php think queue:listen出现乱码
    mysql 查询分组后的总条数
    处理mysql先排序在分组
    mysql 5.7 sql_mode设置 坑
    Windows 版 SourceTree 免登录跳过初始设置的方法和下载地址
    thinkphp5.1-jwt的安装与使用
  • 原文地址:https://www.cnblogs.com/flying607/p/3467037.html
Copyright © 2020-2023  润新知