- 什么是JdbcTemp
这是JDBC核心软件包中的中心类。 它简化了JDBC的使用并有助于避免常见错误。它执行核心的JDBC工作流程,留下应用程序代码以提供SQL并提取结果。此类执行SQL查询或更新,在ResultSets上启动迭代并捕获JDBC异常,并将其转换为org.springframework.dao程序包中定义的通用,信息量更大的异常层次结构 。
说白了就是简化数据库CRUD操作,coder只需要拼写sql。
public class UserDaoImp implements UserDao {
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
@Override
public List<User> findAll() {
String sql = "select * from `user`";
List<User> users = template.query(sql, new BeanPropertyRowMapper<>(User.class));
return users;
}
@Override
public int countUser() {
String sql = "select count(id) from `user`";
Integer count = template.queryForObject(sql, Integer.class);
return (int) count;
}
@Override
public void insertUser(User user) {
String sql = "insert into `user` values(?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] obj = new Object[]{
null, user.getUsername(), user.getPassword(), user.getName(), user.getGender(), user.getBirthday(), user.getHometown(),
user.getHobby(), user.getIntroduction(), user.getCasting(), user.getRegisterTime(), 0
};
int i = template.update(sql, obj);
}
@Override
public void delUserById(int id) {
String sql = "delete from `user` where id = ? ";
template.update(sql, id);
}
@Override
public User findUserById(int id) {
String sql = "select * from `user` where id =?";
User user = template.queryForObject(sql, new BeanPropertyRowMapper<>(User.class), id);
if (user != null) {
return user;
} else {
return null;
}
}
还有很多方法,可以查看JdbcTemplate官网