MyBatisの実装

MyBatisのは何ですか

iBatis3.xからApacheのオープンソース・プロジェクトからMyBatisのiBatisのは、正式にMyBatisのに社名を変更しました。それは優秀な永続化フレームワークです。

なぜMyBatisの

データベースと対話するために、通常の練習は、Javaコードで書き込みSQL文にある、JavaコードのSQL文、および一緒に結合助長するポストメンテナンスの修正ではなく、MyBatisの後半原因を促進するために、私たちの別々のSQL文とJavaコードを助けることができます需要の変化とSQLステートメントを変更します。(連絡先役割プロパティファイル)

MyBatisの使い方

  1. JARパッケージの導入
    ここに画像を挿入説明
  2. データベーステーブルに対応してインターフェース、モジュラー開発を作成します
public interface IUserInfoDao {

	//这里我们定义一个抽象方法,通过id字段来获取user_name字段
	String getUserName(String id);
}
  1. 次に、構成XMLファイルを作成します
  • モジュールxmlファイルを設定する最初のUSER_INFO、我々は最初の青色のライトに次のコードをコードをコピーする必要があります
<?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="live.sunhao.userinfo.dao.IUserInfoDao">
	<!-- 这是一个select标签 对应着select语句 这里的id对应着接口中的方法名,resultType是返回值类型 #{id}对应着方法中传入的参数值-->
 	<select id="getUserName" resultType="java.lang.String">
  		select user_name from user_info where id=#{id}
 	</select>
</mapper>
  • 再度、プロジェクト全体の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="test"><!-- 这里default决定默认使用哪个环境,如下有两种环境 一个用来测试(test) 一个是正式开发的环境(dev) -->
  		<environment id="test">
   			<transactionManager type="JDBC"></transactionManager>
   			<dataSource type="POOLED">
    				<property name="driver" value="com.mysql.jdbc.Driver" />
    				<property name="url" value="jdbc:mysql://127.0.0.1:3306/test" />
    				<property name="username" value="root" />
    				<property name="password" value="root" />
   			</dataSource>
  		</environment>
  		
  		<environment id="dev">
   			<transactionManager type="JDBC"></transactionManager>
   			<dataSource type="POOLED">
    				<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
    				<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:keeper" />
    				<property name="username" value="root" />
    				<property name="password" value="root" />
  	 		</dataSource>
	  		</environment>
	</environments>
 
 	<!-- 这里将每个模块的xml文件 配置到整个项目的xml文件中,我这里暂时就一个模块 -->
 	<mappers>
  		<mapper resource="user_info.xml"/>
 	</mappers>
</configuration>
  1. テストクラスを書きます
public class Test {
	public static void main(String[] args) {
  		try {
   			InputStream inputStream = Resources.getResourceAsStream("mybatis_config.xml");
   			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
   			//SqlSession对象代指一次数据库连接
   			SqlSession sqlSession = sqlSessionFactory.openSession();
   			IUserInfoDao userInfoDao = sqlSession.getMapper(IUserInfoDao.class);
   			System.out.println(userInfoDao.getClass().getName());
   			String userName = userInfoDao.getUserName("3ddcf637-15a8-49d9-a378-b3fa2f2f9c65");
   			System.out.println(userName);
  		} catch (IOException e) {
   			e.printStackTrace();
  		}
 	}
 }

最後に、コンソール出力を見て:
ここに画像を挿入説明
私たちはここにJDKのダイナミックプロキシを見ることができ、userInfoDaoエージェントクラスオブジェクトは、自動的に36 idでUSER_NAMEを見つけることができるように、私たちが作成したインタフェースを実装しています

公開された101元の記事 ウォンの賞賛3 ビュー2240

おすすめ

転載: blog.csdn.net/S_Tian/article/details/104251587