JdbcTemplate使用

  • 什么是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官网

posted @ 2022-05-10 23:18  iforeverhz  阅读(53)  评论(0)    收藏  举报