Mybatis-入門と配置ファイル
一.Mybatisについて mybatisは長い間続く層の枠組みであり、彼女はカスタムsqlをサポートしています。記憶過程、高級マッピング、非常に柔軟です。ほとんどすべてのjdbcコードを消去しました。 私達はmystaisを使っています。基本的にはsql文だけを書く必要があります。だから彼女は半自動化耐久層の枠組みです。 二.MybatisにおけるDaoの実現方法 Daoインターフェース+Dao実装クラス+xmlプロファイル;面倒くさいので、普通は使わないです。 Daoインターフェース+xml構成。インターフェース名=namespace;メソッド名=id;普通はこれを使います。 Daoインターフェース+annotationは簡単なsqlを処理して使えますが、複雑で扱いにくいです。 三.Mybatisのコアプロファイル
configrationの設定 properties属性 settings設定 type Aliasesタイプの命名 タイプのプロセッサ object Factory対象工場 pluginsプラグイン environments環境 environment環境変数 transpactionManager事務管理部 データソース mappersマッパー cache−与えられた名前空間のキャッシュを構成する。 cache-ref–キャッシュ構成を他の名前空間から引用する。 resultMap–最も複雑で、最も強力な要素であり、データベースの結果集からあなたのオブジェクトをロードする方法を説明します。アドバンストマップを使用する必要があります。 sql–再利用可能なSQLブロックは、他の語句によって参照されてもよい。 insert–マッピング挿入文 udate–マッピング更新文 delete–マッピング削除文 select–マッピングクエリ文
configrationの設定
<configuration>
<settings>
<setting name="logImpl" value="log4j"/>
<setting name="cacheEnabled" value="true"/>
settings>
<typeAliases>
<typeAlias type="com.zx.vo.Tbbook" alias="tbbook"/>
<typeAlias type="com.zx.vo.Emp" alias="emp"/>
<typeAlias type="com.zx.vo.Dept" alias="dept"/>
typeAliases>
<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://localhost/zx" />
<property name="username" value="root" />
<property name="password" value="root" />
dataSource>
environment>
environments>
<mappers>
<mapper resource="com/zx/dao/tbbookMapper.xml" />
<mapper resource="com/zx/dao/empMapper.xml" />
<mapper resource="com/zx/dao/dynamicEmpMapper.xml" />
mappers>
configuration>
三.Mybatisのmapperマッピングファイル(xml)
<mapper namespace="com.zx.dao.TbbookDao">
<cache eviction="LRU" flushInterval="1000" size="512" readOnly="true">cache>
<sql id="selectAll">
select * from
sql>
<select id="getAll" resultType="tbbook" >
<include refid="selectAll"/> tbbook
select>
<insert id="insert" parameterType="tbbook" useGeneratedKeys="true" keyProperty="bookid">
insert into tbbook values(null,#{bookname},#{price},#{publisher})
insert>
<insert id="insert2" parameterType="string">
insert into tbbook values(null,#{0},null,#{1})
insert>
<update id="update" parameterType="tbbook">
update tbbook set bookname=#{bookname},price=#{price},publisher=#{publisher} where bookid=#{bookid}
update>
<delete id="delete" parameterType="int">
delete from tbbook where bookid=#{bookid}
delete>
<select id="getBook" resultType="tbbook" parameterType="int" >
select * from tbbook where bookid=#{bookid}
select>
<select id="getBook1" resultType="map" parameterType="int" >
select * from tbbook where bookid=#{bookid}
select>
mapper>