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));
    }

}

最新文章

  1. bootStrap树形目录组件
  2. ios7 tableview被navigationbar挡住
  3. POJ3211 Washing Clothes[DP 分解 01背包可行性]
  4. PHP之APC缓存详细介绍(学习整理)
  5. php 批量导入数据的一种思维
  6. Servlet 3.0 使用注解配置URl提示404错误
  7. Linux入门篇(二)——文件
  8. c语言中标识符的作用域
  9. 大数据 --> 安装Hadoop-单机模式(1)
  10. hibernate框架学习笔记9:多对多关系案例
  11. cesium 之地图显示坐标、比例尺、海拔高度效果篇(附源码下载)
  12. AB PLC首次IP地址如何分配
  13. python 函数返回值(总结)
  14. C# 之 反射性能优化3
  15. FTP连接服务器总报错的问题解决
  16. sqli-labs(三)
  17. 【JVM】1、java虚拟机参数-X 与 -XX的区别
  18. [leetcode]Subsets @ Python
  19. REST格式
  20. git学习(一) 如何将项目上传到github

热门文章

  1. Python开发基础-Day5-字符编码、文件处理和函数基础(草稿)
  2. MTK平台源码 mt6589-jb3-x_20131122
  3. BZOJ 4059 [Cerc2012]Non-boring sequences(启发式分治)
  4. 【后缀自动机】hihocoder1445 后缀自动机二·重复旋律5
  5. RMI(Remote Method Invocation ) 概念恢复
  6. 关于abstract class 和 interface
  7. go排序后索引
  8. 从co到koa01-co
  9. iOS-Runtime、对象模型、消息转发
  10. material design动画