SpringBoot使用JdbcTemplate

▼魔方 西西 提交于 2019-12-14 11:01:34

  Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate 是在JDBC API基础上提供了更抽象的封装,并提供了基于方法注解的事务管理能力。 通过使用SpringBoot自动配置功能并代替我们自动配置beans.

导入依赖

<dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-test</artifactId>        <scope>test</scope>        <exclusions>            <exclusion>                <groupId>org.junit.vintage</groupId>                <artifactId>junit-vintage-engine</artifactId>            </exclusion>        </exclusions>    </dependency>    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>5.1.21</version>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-jdbc</artifactId>    </dependency></dependencies>

创建entity层

package com.wn.jdbc.entity;public class Petbreed {    private Integer perId;    private String perBreed;    public Integer getPerId() {        return perId;    }    public void setPerId(Integer perId) {        this.perId = perId;    }    public String getPerBreed() {        return perBreed;    }    public void setPerBreed(String perBreed) {        this.perBreed = perBreed;    }    public Petbreed(Integer perId, String perBreed) {        this.perId = perId;        this.perBreed = perBreed;    }    public Petbreed(String perBreed) {        this.perBreed = perBreed;    }    public Petbreed() {    }}

编写application.properties文件

#配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///petmanage
spring.datasource.username=root
spring.datasource.password=123
#配置端口号
server.port=8003

创建dao接口层

public interface PetbreedDao {

    //新增
    public Integer getinster(Petbreed petbreed);

    //修改
    public Integer getupdate(Petbreed petbreed);

    //删除
    public Integer getdel(Integer id);

    //查询
    public List<Petbreed> getAll();

}

创建dao接口实现层

@Repository
public class PetbreedDaoImpl implements PetbreedDao {

    @Resource
    private JdbcTemplate jdbcTemplate;

    @Override
    public Integer getinster(Petbreed petbreed) {
        return jdbcTemplate.update("INSERT INTO petbreed(petBreed) VALUE(?)",petbreed.getPerBreed());
    }

    @Override
    public Integer getupdate(Petbreed petbreed) {
        return jdbcTemplate.update("UPDATE petbreed SET petBreed=? WHERE petId=?",petbreed.getPerBreed(),petbreed.getPerId());
    }

    @Override
    public Integer getdel(Integer id) {
        return jdbcTemplate.update("DELETE FROM petbreed WHERE petId=?",id);
    }

    @Override
    public List<Petbreed> getAll() {
        RowMapper<Petbreed> rowMapper=new RowMapper<Petbreed>() {
            @Override
            public Petbreed mapRow(ResultSet resultSet, int i) throws SQLException {
                Petbreed petbreed=new Petbreed(resultSet.getInt("petId"),resultSet.getString("petBreed"));
                return petbreed;
            }
        };

        return jdbcTemplate.query("SELECT * FROM petbreed",rowMapper) ;
    }
}

创建service接口层

public interface PetbreedService {
    //新增
    public Integer getinster(Petbreed petbreed);

    //修改
    public Integer getupdate(Petbreed petbreed);

    //删除
    public Integer getdel(Integer id);

    //查询
    public List<Petbreed> getAll();
}

创建service接口实现层

@Service("petbreedService")
public class PetbreedServiceimpl implements PetbreedService {

    //植入dao层对象
    @Resource
    private PetbreedDao dao;

    @Override
    public Integer getinster(Petbreed petbreed) {
        return dao.getinster(petbreed);
    }

    @Override
    public Integer getupdate(Petbreed petbreed) {
        return dao.getupdate(petbreed);
    }

    @Override
    public Integer getdel(Integer id) {
        return dao.getdel(id);
    }

    @Override
    public List<Petbreed> getAll() {
        return dao.getAll();
    }
}

创建controller层

@Controller
@RequestMapping("/pet")
public class PetbreedController {

    //植入service层对象
    @Resource(name = "petbreedService")
    private PetbreedService service;

    //新增
    @RequestMapping("/getinsert")
    @ResponseBody
    public Integer getinsert(){
        Integer getinster = service.getinster(new Petbreed("呵呵"));
        return getinster;
    }

    //修改
    @RequestMapping("/getupdate")
    @ResponseBody
    public Integer getupdate(){
        Integer getupdate = service.getupdate(new Petbreed(7, "小猫"));
        return getupdate;
    }

    //删除
    @RequestMapping("/getdel")
    @ResponseBody
    public Integer getdel(){
        Integer getdel = service.getdel(7);
        return getdel;
    }

    //查询
    @RequestMapping("/getAll")
    @ResponseBody
    public List<Petbreed> getAll(){
        List<Petbreed> all = service.getAll();
        return all;
    }

}

结果实现

  新增:

      

      

  修改:

      

      

  删除:

      

 

 

       

  查询:

      

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!