美文网首页
JdbcTemplate超简单备忘

JdbcTemplate超简单备忘

作者: iMikasa_ | 来源:发表于2021-09-02 20:33 被阅读0次

    spring简化了对jdbc操作的难度,能够更简单的使用JDBC,避免样板式代码。

    CRUD

    pom

     <parent>
            <artifactId>spring-boot-starter-parent</artifactId>
            <groupId>org.springframework.boot</groupId>
            <version>2.3.5.RELEASE</version>
        </parent>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
        </dependencies>
    

    我的DAO层

    package com.imikasa.dao;
    
    import com.imikasa.pojo.Hero;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.RowMapper;
    import org.springframework.stereotype.Repository;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    
    @Repository
    public class HeroDao implements HeroDaoInterface {
        private JdbcTemplate jdbcTemplate;
        @Autowired
        public HeroDao(JdbcTemplate jdbc){
            this.jdbcTemplate = jdbc;
        }
    
        @Override
        public List<Hero> findAll() {
            List<Hero> all = jdbcTemplate.query("select * from hero", new RowMapper<Hero>() {
                @Override
                public Hero mapRow(ResultSet resultSet, int i) throws SQLException {
                    Hero hero = new Hero(resultSet.getInt("id"),resultSet.getString("name"),resultSet.getInt("hp"));
                    return hero;
                }
            });
            return all;
        }
    
        @Override
        public Hero findById(int id) {
            Hero hero = jdbcTemplate.queryForObject("select * from hero where id = ?", new RowMapper<Hero>() {
                @Override
                public Hero mapRow(ResultSet resultSet, int i) throws SQLException {
                    return new Hero(resultSet.getInt("id"), resultSet.getString("name"), resultSet.getInt("hp"));
                }
            },id);
            return hero;
        }
    
        @Override
        public int add(Hero hero) {
            int update = jdbcTemplate.update("insert into hero (name,hp) values (?,?)", hero.getName(), hero.getHp());
            return update;
        }
    
        @Override
        public int delete(int id) {
            int update = jdbcTemplate.update("delete from hero where id = ?", id);
            return update;
        }
    
        @Override
        public int update(Hero hero) {
            int update = jdbcTemplate.update("update hero set name = ?,hp = ? where id = ?", hero.getName(), hero.getHp(), hero.getId());
            return update;
        }
    }
    
    

    仅供参考……

    相关文章

      网友评论

          本文标题:JdbcTemplate超简单备忘

          本文链接:https://www.haomeiwen.com/subject/mtvcwltx.html