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 です。
- MyBatis の構成
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方法 }
- Mapper の記述
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 クラスとコントローラーの作成
- 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 サイトの他の関連記事を参照してください。

JVMは、Javaコードをマシンコードに変換し、リソースを管理することで機能します。 1)クラスの読み込み:.classファイルをメモリにロードします。 2)ランタイムデータ領域:メモリ領域を管理します。 3)実行エンジン:実行バイトコードを解釈またはコンパイルします。 4)ローカルメソッドインターフェイス:JNIを介してオペレーティングシステムと対話します。

JVMにより、Javaはプラットフォームを介して実行できます。 1)jvmは、bytecodeをロード、検証、実行します。 2)JVMの作業には、クラスの読み込み、バイトコード検証、解釈の実行、およびメモリ管理が含まれます。 3)JVMは、動的クラスの読み込みや反射などの高度な機能をサポートしています。

Javaアプリケーションは、次の手順を通じて異なるオペレーティングシステムで実行できます。1)ファイルまたはパスクラスを使用してファイルパスを処理します。 2)System.getEnv()を介して環境変数を設定および取得します。 3)MavenまたはGradleを使用して、依存関係を管理し、テストします。 Javaのクロスプラットフォーム機能は、JVMの抽象化レイヤーに依存していますが、特定のオペレーティングシステム固有の機能の手動処理が必要です。

Javaには、さまざまなプラットフォームでの特定の構成とチューニングが必要です。 1)-XMSや-XMXなどのJVMパラメーターを調整して、ヒープサイズを設定します。 2)ParallelGCやG1GCなどの適切なごみ収集戦略を選択します。 3)さまざまなプラットフォームに適応するようにネイティブライブラリを構成します。これらの測定により、Javaアプリケーションはさまざまな環境で最適に機能することができます。

Osgi、apachecommonslang、jna、andjvmoptionsareeffectiveforformplatform-specificchallengesinjava.1)osgimanagesdependenciesandisolatescomponents.2)apachecommonslangprovidesutilityfunctions.3)jnaallowsnativecode.4)

jvmmanagesgarbagecollectionacrossplatformseftivivivivitybyusagenerationalaphadadadaptingtosandhardwaredefferences.itemployscollectorslikeserial、parallel、cms、andg1、各sutitedfordifferentscenarios

Javaは、Javaの「Write and Averywherewhere」という哲学がJava Virtual Machine(JVM)によって実装されているため、変更なしで異なるオペレーティングシステムで実行できます。コンパイルされたJavaバイトコードとオペレーティングシステムの間の仲介者として、JVMはバイトコードを特定のマシン命令に変換し、JVMがインストールされた任意のプラットフォームでプログラムが独立して実行できることを確認します。

Javaプログラムの編集と実行は、BytecodeとJVMを通じてプラットフォームの独立性を達成します。 1)Javaソースコードを書き、それをbytecodeにコンパイルします。 2)JVMを使用して、任意のプラットフォームでByteCodeを実行して、コードがプラットフォーム間で実行されるようにします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









