Operasi pangkalan data Spring dikapsulkan dalam jdbc pada tahap yang lebih mendalam, dan JdbcTemplate ialah alat mudah yang disediakan oleh Spring untuk mengendalikan pangkalan data. Kami boleh menggunakan JdbcTemplate untuk melaksanakan semua operasi pangkalan data, seperti memasukkan, mengemas kini, memadam dan mendapatkan semula data daripada pangkalan data, dan dengan berkesan mengelakkan pengekodan yang membosankan yang disebabkan oleh penggunaan jdbc secara langsung
Klik Fail–>Projek–>Baharu
Klik spring initializr, perhatikan versi SDK anda dan kemudian klik seterusnya
Isi kumpulan dan artifak anda, ambil perhatian bahawa versi Java adalah konsisten dengan versi SDK sebelumnya, klik seterusnya
Pilih sendiri Kebergantungan yang akan ditambahkan akan ditambahkan secara automatik pada maven apabila projek dibuat, kemudian
klik seterusnya
isi nama projek anda dan klik selesai
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency>
Pangkalan data MySQL yang saya gunakan di sini, hanya import pemacu pangkalan data MySQL
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version> </dependency>
Saya menggunakan fail konfigurasi format yml di sini
spring: datasource: url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8 username: root password: admin driver-class-name: com.mysql.jdbc.Driver
package com.gavin.boot; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @Slf4j @SpringBootTest class BootJdbcApplicationTests { @Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() { //获取sys_user表数据量 Long aLong = jdbcTemplate.queryForObject("select count(*) from sys_user", Long.class); log.info("记录总数:{}", aLong); }
Jalankan hasil
package com.gavin.boot; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @Slf4j @SpringBootTest class BootJdbcApplicationTests { @Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() { //获取sys_user表一条数据 Map<String, Object> map = jdbcTemplate.queryForMap("select * from sys_user where id = 1"); log.info("map数据为:" + map); } }
Jalankan hasil
package com.gavin.boot; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @Slf4j @SpringBootTest class BootJdbcApplicationTests { @Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() { //获取sys_user表所有数据 List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from sys_user"); log.info("list数据为:" + list); } }
package com.gavin.boot; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @Slf4j @SpringBootTest class BootJdbcApplicationTests { @Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() { //新增一条数据 int i = jdbcTemplate.update("insert into sys_user(user_name, phone) values(?,?)", new String[]{"小王", "13100720084"}); log.info("新增了" + i + "条数据"); } }
Jalankan hasil
package com.gavin.boot; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @Slf4j @SpringBootTest class BootJdbcApplicationTests { @Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() { //修改一条数据 int i2 = jdbcTemplate.update("update sys_user set user_name = ? where id = 1", new String[]{"小张"}); log.info("修改了" + i2 + "条数据"); } }
Jalankan hasil
package com.gavin.boot; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; @Slf4j @SpringBootTest class BootJdbcApplicationTests { @Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() { //删除一条数据 int i3 = jdbcTemplate.update("delete from sys_user where id = ?", 1); log.info("删除了" + i3 + "条数据"); } }
Jalankan hasil
Atas ialah kandungan terperinci Bagaimana SpringBoot menyepadukan JdbcTemplate. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!