簡単に言えば、MyBatis は、JDBC 開発を簡素化するために使用される優れた永続層フレームワークです
。 MyBatis 自体は Apache のオープン ソース プロジェクトで、当初は iBatis と呼ばれていましたが、2010 年にプロジェクトは Google Code に移行され、MyBatista に名前が変更されました。 2013 年にプロジェクトは GitHub に移行されました。
概念における永続層をどのように理解していますか? これは、データをデータベースに保存するコード層を指します。巨大なコードでは、各コードが単一の責任を持つようにするために、同じデータベース上で動作するコードを 永続層 と呼びます。同時に、JavaEE 3 層アーキテクチャでは、
プレゼンテーション層がページ表示を担当し、
ビジネス層がロジック処理を担当し、永続層がデータの保存を担当します。データベース内で。
フレームワークとは何ですか? フレームワークとは、半完成ソフトウェアを指し、再利用可能な汎用のソフトウェア基本コード モデルのセットです。フレームワークに基づいて開発を行うと、コストが大幅に節約され、より標準化され、汎用性が高く、拡張性が高くなります。
MyBatis を使用して JDBC 開発を簡素化していますが、JDBC の欠点は何でしょうか?
ハードコーディングまず、ドライバーを登録してリンクを取得する際、パスワードなどの文字列情報が変更された場合は手動で変更する必要があります。次に、SQL ステートメントを定義するときに文字列を使用すると、コードの保守性も低下します。 複雑な操作パラメータを手動で設定し、結果セットを手動で設定する場合、操作が煩雑になるという問題があります。 JDBC で使用される次のコードを示します: 3.Mybatis は JDBC 開発を簡素化しますJDBC 開発にはハード コーディングがあるため、 、操作が面倒な欠点があるため、これらの問題を解決するにはどうすればよいですか?まず、文字列を別の構成ファイルに記述して JDBC ハード コーディングの問題を解決し、次に、面倒な JDBC オペレーション コードを自動的に完成させる方法を使用できます。したがって、JDBC 開発を簡素化するために MyBatis を使用します。MyBatis は、ほぼすべての JDBC コードと、パラメーターの設定と結果セットの取得の作業を排除します。
<environment id="test"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--数据库连接信息--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/> <property name="username" value="root"/> <property name="password" value="1234"/> </dataSource> </environment> </environments>永続層には多くの選択肢がありますフレームワークとしては市販されていますが、国内市場ではMyBatisの利用シェアが高いです。 4. MyBatis クイック スタート | 実践的なプロジェクトの詳細な説明 MyBatis の使用を開始するには、実際の操作を通じてユーザー テーブル内のすべてのデータをすばやくクエリします。 user table を作成して user object に入れ、お互いをそれぞれセットに入れて操作を完了します。次の手順に従って操作を完了します。
#次のデモでは、詳細なデモを使用して、 MyBatis をすぐに始めましょう:
ユーザー テーブルを作成してデータを追加します:
create database mybatis; use mybatis; drop table if exists tb_user; create table tb_user( id int primary key auto_increment, username varchar(20), password varchar(20), gender char(1), addr varchar(30) ); INSERT INTO tb_user VALUES (1, '小张', 'abc', '男', '北京'); INSERT INTO tb_user VALUES (2, '小李', '123', '女', '天津'); INSERT INTO tb_user VALUES (3, '小美', '456', '女', '上海');
MySQL データベースが使用されますここでは、navicat がデータベース視覚化ツールとして使用されています。 アイデアでモジュールを作成し、座標をインポートします。
アイデアで [新しいプロジェクト] をクリックし、ビルド システムとして Maven を選択し、プロジェクト名 (MyBatis-demo) を入力します。ここでは が使用されています)、グループ ID とアーティファクト ID を設定し、[作成] をクリックします。次に、依存関係をインポートし、次の依存関係コードを pom.xml ファイルに配置します。 <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
次に、mysql 依存関係、junit 座標、および logback 座標をインポートし、logback.xml 構成ファイルをリソースに貼り付けます。 ##
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <!-- 添加slf4j日志api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.20</version> </dependency> <!-- 添加logback-classic依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <!-- 添加logback-core依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency>
MyBatis コア構成ファイルを作成します:
MyBatis-demo/src/main/resources に新しい構成ファイル mybatis.config.xml を作成します。<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--数据库连接信息--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/> <property name="username" value="root"/> <property name="password" value="abc123"/> </dataSource> </environment> </environments> <mappers> <!--加载sql的映射文件--> <mapper resource="UerMapper.xml"/> </mappers> </configuration>SQL マッピング ファイルを作成します: SQL マッピング ファイル UserMapper.xml を MyBatis-demo/src/main/resources に追加します。
<?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="test"> <select id="selectAll" resultType="com.example.pojo.User"> select * from tb_user; </select> </mapper>MyBatis のコア構成ファイルを変更して、SQL マッピング ファイルをロードします。
<mappers> <!--加载sql的映射文件--> <mapper resource="UserMapper.xml"/> </mappers>
上記の操作を完了したら、コーディングを開始できます。まず、POJO クラスを定義します:
package com.example.pojo; public class User { private Integer id; private String username; private String password; private String gender; private String addr; public Integer getId() { return id; } public String getUsername() { return username; } public String getPassword() { return password; } public String getGender() { return gender; } public String getAddr() { return addr; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", gender='" + gender + '\'' + ", addr='" + addr + '\'' + '}'; } }
コア構成ファイルをロードし、sqlSessionFactory を取得しますオブジェクト:
まず、MyBatisDemo.java ファイルを作成し、main メソッドを追加して、コードを記述する必要があります。public class MyBatisDemo { public static void main(String[] args) throws IOException { //加载MyBatis核心配置文件 String resource = "mybatis.config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } }
获取sqlSession对象,执行sql语句:
//获取SqlSession对象,用它来执行sql SqlSession sqlSession=sqlSessionFactory.openSession(); //执行sql List<User> users = sqlSession.selectList("test.selectALL"); System.out.println(users); //释放资源 sqlSession.close();
到这里我们就完成了整个项目的构建,接下来我们运行程序,可以看到,我们成功的查询到tb_user
中的数据!
以上がJava での MyBatis のクイック スタート例を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。