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

Cara SpringBoot menggunakan JdbcTemplate untuk mengendalikan pangkalan data

王林
Lepaskan: 2023-05-16 11:07:05
ke hadapan
1529 orang telah melayarinya

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表';
Salin selepas log masuk

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>
Salin selepas log masuk
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
Salin selepas log masuk

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;

}
Salin selepas log masuk
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>
Salin selepas log masuk
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>
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan