Rumah  >  Artikel  >  Java  >  Cara SpringBoot menggunakan JdbcTemplate untuk mengendalikan pangkalan data

Cara SpringBoot menggunakan JdbcTemplate untuk mengendalikan pangkalan data

王林
王林ke hadapan
2023-05-16 11:07:051364semak imbas

JdbcTemplate ialah satu set rangka kerja templat JDBC yang disediakan oleh Spring, yang menggunakan teknologi AOP untuk menyelesaikan masalah sejumlah besar kod berulang apabila menggunakan JDBC secara langsung. Walaupun tidak fleksibel seperti MyBatis, ia lebih mudah daripada menggunakan JDBC secara terus.

1. Cipta jadual

CREATE TABLE `t_demo` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(120) NOT NULL,
  `num` int(11) NOT NULL,
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='demo表';

Cara SpringBoot menggunakan JdbcTemplate untuk mengendalikan pangkalan data

2 1. Mula-mula edit fail pom.xml

dan tambahkan kebergantungan yang berkaitan.

<!-- spring-jdbc -->
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-jdbc</artifactid>
</dependency>
 
<!-- 数据库驱动依赖 -->
<dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
</dependency>
 
<!-- 数据库连接池 -->
<dependency>
    <groupid>com.alibaba</groupid>
    <artifactid>druid</artifactid>
    <version>1.1.9</version>
</dependency>
2. Tulis konfigurasi
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
spring.datasource.url = jdbc:mysql://localhost:3306/PiaoDB?useUnicode=swater&characterEncoding=UTF-8
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name = com.mysql.jdbc.Driver

3 Tulis kod

1 Tulis kelas entiti

@Data
@Accessors(chain = true)
public class Demo {

    private Integer id;

    private String name;

    private Integer num;

    private Date createTime;

}
2 Kod

@Repository
public class DemoDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 新增数据
    public int addDemo(Demo demo) {
        return jdbcTemplate.update("INSERT INTO t_demo(name, num) VALUE (?, ?)",
                demo.getName(), demo.getNum());
    }

    // 修改数据
    public int updateDemo(Demo demo) {
        return jdbcTemplate.update("UPDATE t_demo SET name=?, num=? WHERE id=?",
                demo.getName(), demo.getNum(), demo.getId());
    }

    // 删除数据
    public int deleteDemoById(Integer id) {
        return jdbcTemplate.update("DELETE FROM t_demo WHERE id=?", id);
    }

    // 获取单条数据
    public Demo getDemoById(Integer id) {
        return jdbcTemplate.queryForObject("SELECT * FROM t_demo WHERE id=?",
                new BeanPropertyRowMapper(Demo.class), id);
    }

    // 获取多条数据
    public List<demo> getAllDemos() {
        return jdbcTemplate.query("SELECT * FROM t_demo",
                new BeanPropertyRowMapper(Demo.class));
    }

}</demo>
3. Tulis kod Pengawal

@RestController
@RequestMapping("/demo")
public class DemoController {

    @Autowired
    private DemoDao demoDao;

    @RequestMapping("")
    public void test(){
        // 新增数据
        int num = demoDao.addDemo(new Demo().setName("piao").setNum(20));
        System.out.println("插入一条数据:" + num);

        // 修改数据
        int num2 = demoDao.updateDemo(new Demo().setId(15).setName("piao").setNum(22));
        System.out.println("更新一条数据:" + num2);

        // 删除数据
        int num3 = demoDao.deleteDemoById(13);
        System.out.println("删除一条数据:" + num3);

        // 查询单条数据
        Demo demo = demoDao.getDemoById(15);
        System.out.println("查询1条数据:" + demo.toString());

        // 查询多条数据
        List<demo> demos = demoDao.getAllDemos();
        System.out.println("查询多条数据:" + demos);
    }

}</demo>

4.

Atas ialah kandungan terperinci Cara SpringBoot menggunakan JdbcTemplate untuk mengendalikan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam