【Java】Mybatisによるデータベース操作
5511 ワード
文書ディレクトリ前言 プロジェクト構造 依存パッケージ を追加 Mybatisプロファイル を作成するデータベースとデータテーブル を作成する新しいデータテーブルに対応するエンティティクラス 新しいUserクラスの対応するマッピング層 テストクラス 前言
Mybatisとは?ウィキペディアでは、MybatisはJava永続化フレームワークであり、XML記述子または注釈によってオブジェクトをストレージ・プロシージャまたはSQL文に関連付けます.一般的に言えばMybatisは、JPA(Java永続化API、Javaアプリケーションインタフェース仕様)の実装であり、データベースの操作プロセスを簡素化するために派生した製品である.Mybatisのチュートリアルについては、公式ドキュメントを参照することをお勧めします:Mybatis公式ドキュメント
プロジェクト構造
依存パッケージの追加
本明細書で使用するJar依存パッケージには,Mybatisパッケージ,Mysqlドライバパッケージがある.pom.xml:
Mybatisプロファイルの作成
Mybatis-config.xmlファイルを新規作成し、Mybatisの構成を完了します.
データベースとデータテーブルの作成
本稿ではMysqlを用い,プレゼンテーションの便宜上,簡単なデータベースspringのみを作成し,データテーブルuserも作成した.データテーブルSQLコードを作成します.
新しいデータテーブルに対応するエンティティークラス
データベース内のuserテーブルとの関係マッピングを実現するために、ここで新しいUserクラスを作成します.User.java:
新しいUserクラスの対応するマッピングレイヤ
Userクラスのパスの下で新しいUser.xmlを作成し、オブジェクトのマッピングを完了します.
テストクラス
新しいテストクラスを作成し、メールボックスを検索します[email protected]のユーザー情報です.test.java:
データテーブル情報:
テスト結果:
変換元:https://ddnd.cn/2018/11/29/Mybatis-Introduction/
Mybatisとは?ウィキペディアでは、MybatisはJava永続化フレームワークであり、XML記述子または注釈によってオブジェクトをストレージ・プロシージャまたはSQL文に関連付けます.一般的に言えばMybatisは、JPA(Java永続化API、Javaアプリケーションインタフェース仕様)の実装であり、データベースの操作プロセスを簡素化するために派生した製品である.Mybatisのチュートリアルについては、公式ドキュメントを参照することをお勧めします:Mybatis公式ドキュメント
プロジェクト構造
依存パッケージの追加
本明細書で使用するJar依存パッケージには,Mybatisパッケージ,Mysqlドライバパッケージがある.pom.xml:
4.0.0
ddnd
ddnd
1.0-SNAPSHOT
org.mybatis
mybatis
3.4.6
mysql
mysql-connector-java
8.0.13
Mybatisプロファイルの作成
Mybatis-config.xmlファイルを新規作成し、Mybatisの構成を完了します.
cn/ddnd/www/Entity/User.xml
は、マッピングするクラスを含むxmlプロファイルです.
データベースとデータテーブルの作成
本稿ではMysqlを用い,プレゼンテーションの便宜上,簡単なデータベースspringのみを作成し,データテーブルuserも作成した.データテーブルSQLコードを作成します.
CREATE TABLE `user` (
`email` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
新しいデータテーブルに対応するエンティティークラス
データベース内のuserテーブルとの関係マッピングを実現するために、ここで新しいUserクラスを作成します.User.java:
package cn.ddnd.www.Entity;
public class User {
String email;
String name;
String password;
User(String email, String name, String password){
this.email = email;
this.name = name;
this.password = password;
}
public void setPassword(String password) {
this.password = password;
}
public void setName(String name) {
this.name = name;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
}
新しいUserクラスの対応するマッピングレイヤ
Userクラスのパスの下で新しいUser.xmlを作成し、オブジェクトのマッピングを完了します.
resultType="User"
のUser
は、Mybatisプロファイルの
によって指定されたUser
の別名です.
テストクラス
新しいテストクラスを作成し、メールボックスを検索します[email protected]のユーザー情報です.test.java:
import cn.ddnd.www.Entity.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.apache.ibatis.io.Resources;
import sun.awt.geom.AreaOp;
import java.io.Reader;
import java.io.IOException;
public class test {
private static Reader reader;
private static SqlSessionFactory sqlSessionFactory;
static{
try{
reader = Resources.getResourceAsReader("Mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
}catch (IOException e){
e.printStackTrace();
}
}
@Test
public void a() throws IOException {
SqlSession sqlSession = sqlSessionFactory.openSession();
try{
User user = (User) sqlSession.selectOne("cn.ddnd.www.Entity.User.getUser", "[email protected]");
System.out.println(" :" + user.getEmail() + ", :" + user.getName() + ", :" + user.getPassword());
}finally {
sqlSession.close();
}
}
}
データテーブル情報:
テスト結果:
変換元:https://ddnd.cn/2018/11/29/Mybatis-Introduction/