ホームページ >Java >&#&チュートリアル >MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する
Spring Boot は、開発者が WEB アプリケーションを迅速に構築できるようにする迅速な開発フレームワークです。 MyBatis は、Java とデータベース間のデータ アクセスと永続化を簡素化できる優れた ORM フレームワークです。この記事では、MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する方法を紹介します。
1. Spring Boot は MyBatis を統合します
MyBatis と MySQL の依存関係を 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>
ここでは、mybatis-spring-boot-starter を使用して MyBatis を統合します。
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
ここでは、MySQL データベースを使用し、ルートを使用して接続します。アカウント、パスワードは 123456 です。
Spring Boot はデフォルトでマッパー パスを自動的にスキャンします。application.properties でマッパー パスを構成するだけで済みます:
mybatis.mapper-locations=classpath:mapper/*.xml
この構成は、マッパー ファイルがプロジェクトのクラスパスの下のマッパー フォルダーにあることを示します。
上記の構成が完了すると、Spring Boot による MyBatis の統合が完了します。
2. エンティティ クラスとマッパーの作成
データベース内のユーザー テーブルを表す User クラスを定義します。
public class User { private Long id; private String name; private Integer age; // 省略getter和setter方法 }
UserMapper インターフェイスを定義して、User テーブルの追加、削除、変更、およびクエリ操作を定義します。
public interface UserMapper { void saveUser(User user); void updateUser(User user); void deleteUser(Long id); User findUserById(Long id); List<User> findAllUsers(); }
ここでは追加を定義します。 、削除、変更、クエリ、およびすべてのユーザーをクエリするメソッド。
3. Mapper.xml を記述する
次に、UserMapper で定義された操作を実装するために UserMapper.xml ファイルを記述する必要があります:
<?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>
このファイルでは、次のことを実装します。 UserMapper で定義されたすべてのメソッド。parameterType はパラメータのタイプを表し、resultType は戻り値のタイプを表します。
4. Service クラスとコントローラーの作成
UserService クラスを定義して、User テーブルに対する操作をカプセル化します。
@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(); } }
このクラスでは、@Autowired アノテーションを使用して UserMapper を挿入します。つまり、UserMapper で定義されたメソッドを使用できます。
ユーザーの追加、削除、変更、クエリ操作を実装する UserController クラスを定義します。
@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(); } }
このクラスでは、次を使用します。 @ RestController アノテーションは、現在のクラスがコントローラーであることを示し、アクセス パスは @RequestMapping アノテーションを使用して指定されます。同時に、@Autowired アノテーションを使用して UserService が挿入されます。つまり、UserService で定義されたメソッドを使用できます。
5. テスト
これで、プロジェクト全体の構築とコーディングが完了しました。次に、Postman などのツールを使用して、コントローラーで定義された API をテストできます。
Use POST リクエストを使用してユーザー情報を保存します。リクエストの本文は次のとおりです。
{ "name": "张三", "age": 18 }
Use PUT リクエストを使用してユーザー情報を更新します。リクエストの本文は次のとおりです。
{ "id": 1, "name": "李四", "age": 20 }
Use DELETE request toユーザー情報を削除します。URL は次のとおりです。
http://localhost:8080/user/1
GET リクエストを使用してユーザー情報を取得します。 URL は
http://localhost:8080/user/1
GET リクエストを使用してすべてのユーザー情報を取得します。URL は
http://localhost:8080/user/
6 、概要
この記事では、MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する方法を紹介し、簡単な例を使用してプロセス全体を説明します。 MyBatis を使用すると、Java プログラムのデータベース操作をより効率的かつ簡潔にすることができるため、Spring Boot でデータベース操作を実装する必要がある場合は、MyBatis の使用を検討できます。
以上がMyBatis を使用して Spring Boot でデータ アクセスと永続性を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。