Rumah >Java >javaTutorial >Menggunakan MyBatis untuk melaksanakan akses data dan kegigihan dalam Spring Boot
Spring Boot ialah rangka kerja pembangunan pesat yang boleh membantu pembangun membina aplikasi WEB dengan pantas. MyBatis ialah rangka kerja ORM yang sangat baik yang boleh memudahkan akses data dan ketekunan antara Java dan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan MyBatis untuk melaksanakan akses data dan kegigihan dalam Spring Boot.
1. Spring Boot mengintegrasikan MyBatis
Tambah kebergantungan MyBatis dan MySQL dalam fail pom.xml:
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version> </dependency>
Di sini kami menggunakan mybatis-spring-boot-starter untuk menyepadukan MyBatis.
Tambah sifat sambungan pangkalan data dalam application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driverClassName=com.mysql.jdbc.Driver
Di sini kami menggunakan pangkalan data MySQL dan menyambung menggunakan akaun root, Kata laluan ialah 123456.
Spring Boot akan mengimbas laluan pemeta secara automatik secara lalai Kami hanya perlu mengkonfigurasi laluan pemeta dalam application.properties:
mybatis.mapper-locations=classpath:mapper/*.xmlKonfigurasi ini menunjukkan bahawa fail mapper berada dalam folder mapper di bawah classpath projek. Selepas melengkapkan konfigurasi di atas, Spring Boot telah melengkapkan penyepaduan MyBatis. 2. Tulis kelas entiti dan Mapper
public class User { private Long id; private String name; private Integer age; // 省略getter和setter方法 }
public interface UserMapper { void saveUser(User user); void updateUser(User user); void deleteUser(Long id); User findUserById(Long id); List<User> findAllUsers(); }Di sini kita takrifkan penambahan , pemadaman, pengubahsuaian dan pertanyaan serta Kaedah untuk menanyakan semua pengguna. 3. Tulis Mapper.xmlSeterusnya, kami perlu menulis fail UserMapper.xml untuk melaksanakan operasi yang ditakrifkan dalam UserMapper:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <insert id="saveUser" parameterType="com.example.demo.entity.User"> insert into user(name, age) values (#{name}, #{age}) </insert> <update id="updateUser" parameterType="com.example.demo.entity.User"> update user set name = #{name}, age = #{age} where id = #{id} </update> <delete id="deleteUser" parameterType="java.lang.Long"> delete from user where id = #{id} </delete> <select id="findUserById" parameterType="java.lang.Long" resultType="com.example.demo.entity.User"> select * from user where id = #{id} </select> <select id="findAllUsers" resultType="com.example.demo.entity.User"> select * from user </select> </mapper>Dalam fail ini, kami melaksanakan Semua kaedah yang ditakrifkan dalam UserMapper, di mana parameterType mewakili jenis parameter dan resultType mewakili jenis nilai pulangan. 4. Kelas Perkhidmatan dan pengawal Tulis
@Service public class UserService { @Autowired private UserMapper userMapper; public void saveUser(User user) { userMapper.saveUser(user); } public void updateUser(User user) { userMapper.updateUser(user); } public void deleteUser(Long id) { userMapper.deleteUser(id); } public User findUserById(Long id) { return userMapper.findUserById(id); } public List<User> findAllUsers() { return userMapper.findAllUsers(); } }Dalam kelas ini, kami menggunakan anotasi @Autowired untuk menyuntik UserMapper, iaitu, anda boleh menggunakan kaedah yang ditakrifkan dalam UserMapper.
@RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @PostMapping("/") public String saveUser(@RequestBody User user) { userService.saveUser(user); return "success"; } @PutMapping("/") public String updateUser(@RequestBody User user) { userService.updateUser(user); return "success"; } @DeleteMapping("/{id}") public String deleteUser(@PathVariable Long id) { userService.deleteUser(id); return "success"; } @GetMapping("/{id}") public User getUserById(@PathVariable Long id) { return userService.findUserById(id); } @GetMapping("/") public List<User> findAllUsers() { return userService.findAllUsers(); } }Dalam kelas ini, kami gunakan @ Anotasi RestController menunjukkan bahawa kelas semasa ialah pengawal, dan laluan akses ditentukan menggunakan anotasi @RequestMapping. Pada masa yang sama, UserService disuntik menggunakan anotasi @Autowired, iaitu kaedah yang ditakrifkan dalam UserService boleh digunakan. 5. PengujianKini, kami telah menyelesaikan pembinaan dan pengekodan keseluruhan projek. Seterusnya, kita boleh menggunakan alatan seperti Postman untuk menguji API yang ditakrifkan dalam pengawal. Gunakan permintaan POST untuk menyimpan maklumat pengguna, badan permintaan ialah:
{ "name": "张三", "age": 18 }Gunakan permintaan PUT untuk mengemas kini maklumat pengguna, badan permintaan ialah:
{ "id": 1, "name": "李四", "age": 20 }Gunakan permintaan DELETE untuk padamkan Maklumat pengguna, URLnya ialah:
http://localhost:8080/user/1Gunakan permintaan GET untuk mendapatkan maklumat pengguna, URLnya ialah:
http://localhost:8080/user/1Gunakan permintaan GET untuk mendapatkan semua maklumat pengguna, URLnya ialah:
http://localhost:8080/user/Six , SummaryArtikel ini memperkenalkan cara menggunakan MyBatis untuk melaksanakan akses data dan kegigihan dalam Spring Boot, dan menggunakan contoh mudah untuk menggambarkan keseluruhan proses. MyBatis boleh menjadikan operasi pangkalan data program Java lebih cekap dan ringkas Jika anda perlu melaksanakan operasi pangkalan data dalam Spring Boot, anda boleh mempertimbangkan untuk menggunakan MyBatis.
Atas ialah kandungan terperinci Menggunakan MyBatis untuk melaksanakan akses data dan kegigihan dalam Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!