MyBatis学習まとめ
一、MyBatis紹介 MyBatisは優れた耐久層のフレームワークであり、jdbcのオペレーティングデータベースのプロセスをカプセル化し、開発者はSQL自体に注目する必要があります。例えば、登録駆動、connectionの作成、statementの作成、手動設定パラメータ、結果集検索などjdbcの煩雑なプロセスコードを処理するのに精力を使う必要がありません。 Mybatisは、xmlまたは注釈によって実行される様々なstatement(statement、prepardStation、Callable Statement)を構成し、javaオブジェクトとstatementのsqlをマッピングして最終的に実行されるsql文を生成し、最後にmybatisフレームでsqlを保持し、結果をjavaオブジェクトにマッピングして247956567に戻ります。
二、MyBatisフレーム構築
(一)、jarパッケージをロードする(mybatis-3.2.3.jarとデータベースドライババッグ)
(二)インターフェースの作成
二、MyBatisフレーム構築
(一)、jarパッケージをロードする(mybatis-3.2.3.jarとデータベースドライババッグ)
(二)インターフェースの作成
public interface IAreaDao {
// , @Param
String getName(@Param("id")String id);
}
(三)、Testというクラスを作成するpublic class Test {
public static void main(String[] args) {
//
//
try{
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//SqlSession
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);//true, ;false, commit
//sqlSession ,mybatis
IAreaDao areaDao = sqlSession.getMapper(com.jd.area.IAreaDao.class);
IPersonDao personDao = sqlSession.getMapper(com.jd.person.IPersonDao.class);
String name = areaDao.getName("000f9a36-cdc1-4784-9ffc-fe1d8a4a0d15");
System.out.println(name);
/*
// true,
sqlSession.commit();
*/
}catch (Exception e){
e.printStackTrace();
}
}
}
(四)グローバルプロファイルの配置(mybatis-config.xml)
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
settings>
<typeAliases>
<typeAlias type="java.lang.String" alias="kaa">typeAlias>
typeAliases>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC">transactionManager>
<dataSource type="POOLED">
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC"/>
dataSource>
environment>
<environment id="test">
<transactionManager type="JDBC">transactionManager>
<dataSource type="POOLED">
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC"/>
dataSource>
environment>
environments>
<mappers>
<mapper resource="area.xml">mapper>
<mapper resource="person.xml">mapper>
mappers>
configuration>
(五)、配置マッピングファイル
<mapper namespace="com.jd.area.IAreaDao">
<select id="getName" resultType="java.lang.String">
select name from area where id = #{id}
select>
mapper>