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));
}
}
最新文章
- bootStrap树形目录组件
- ios7 tableview被navigationbar挡住
- POJ3211 Washing Clothes[DP 分解 01背包可行性]
- PHP之APC缓存详细介绍(学习整理)
- php 批量导入数据的一种思维
- Servlet 3.0 使用注解配置URl提示404错误
- Linux入门篇(二)——文件
- c语言中标识符的作用域
- 大数据 -->; 安装Hadoop-单机模式(1)
- hibernate框架学习笔记9:多对多关系案例
- cesium 之地图显示坐标、比例尺、海拔高度效果篇(附源码下载)
- AB PLC首次IP地址如何分配
- python 函数返回值(总结)
- C# 之 反射性能优化3
- FTP连接服务器总报错的问题解决
- sqli-labs(三)
- 【JVM】1、java虚拟机参数-X 与 -XX的区别
- [leetcode]Subsets @ Python
- REST格式
- git学习(一) 如何将项目上传到github
热门文章
- Python开发基础-Day5-字符编码、文件处理和函数基础(草稿)
- MTK平台源码 mt6589-jb3-x_20131122
- BZOJ 4059 [Cerc2012]Non-boring sequences(启发式分治)
- 【后缀自动机】hihocoder1445 后缀自动机二·重复旋律5
- RMI(Remote Method Invocation ) 概念恢复
- 关于abstract class 和 interface
- go排序后索引
- 从co到koa01-co
- iOS-Runtime、对象模型、消息转发
- material design动画