「or mapper」カテゴリーアーカイブ

IBatisその1 設定ファイル 備忘禄

Ibatis メモ

特徴
・接続、切断処理、プリペアドステートメントを書かなくてよい。
・SQL文は外出。
・内部でのコネクションプーリング。
・結果や条件のセットをBeanやMap、Listでまとめて設定。バインドが楽。
・動的なSQL文を設定できる。

 

1.DBとの接続情報を保持するxmlファイルを作成する(sqlMapConfig.xml)。
  sqlを定義するsqlMap.xmへの参照を定義する。
  (このファイルは定義すればいくつでも)

以下
<?xml version=”1.0″ encoding=”UTF-8″ ?>

<!DOCTYPE sqlMapConfig
    PUBLIC “-//ibatis.apache.org//DTD SQL Map Config 2.0//EN”
    “http://ibatis.apache.org/dtd/sql-map-config-2.dtd“>

<sqlMapConfig>
 <transactionManager type=”JDBC”>
  <dataSource type=”SIMPLE”>
   <property name=”JDBC.Driver”
    value=”com.mysql.jdbc.Driver”/>
   <property name=”JDBC.ConnectionURL”
    value=”jdbc:mysql://localhost:3306/study”/>
   <property name=”JDBC.Username” value=”user”/>
   <property name=”JDBC.Password” value=”user”/>
  </dataSource>
 </transactionManager>
 <!– sqlファイルを定義 –>
 <sqlMap resource=”book/bookSqlMap.xml”/>

</sqlMapConfig>
2.sqlを記述するxmlファイルを用意する
 sqlMap.xmなど

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<!DOCTYPE sqlMap
    PUBLIC “-//ibatis.apache.org//DTD SQL Map 2.0//EN”
    “http://ibatis.apache.org/dtd/sql-map-2.dtd“>

<sqlMap>

 <!– Beanの情報を定義する –>
 <!– テーブルのカラムとBeanの属性をマッピングする –>
 <resultMap id=”bookBeanInfo” class=”db.ibatis.domain.Book”>
  <result property=”bookId” column=”book_id” />
  <result property=”bookName” column=”book_name” />
  <result property=”campanyId” column=”company_id” />
  <result property=”price” column=”price” />
 </resultMap>
 <!–キーによるセレクトを行いMAPにつめる –>
 <select id=”selBookByPkToMap”
  parameterClass=”java.lang.Integer”
  resultClass=”java.util.HashMap”>
  select book_id,book_name,price,company_id
  from book where book_id = #value#
 </select>

 <!–キーによるセレクトを行い上記で定義したBean詰める –>
 <select id=”selBookByPkToBean”
  parameterClass=”java.lang.Integer”
  resultMap=”bookBeanInfo”>
  select book_id,book_name,price,company_id
  from book where book_id = #value#
 </select>

 <!–キーによるセレクトを行いBeanの属性をエイリアスに設定することで、Bean定義を省く –>
 <select id=”selBookByPk2ToBeanNotDefine”
  parameterClass=”java.lang.Integer”
  resultClass=”db.ibatis.domain.Book”>
  select
   book_id as bookId
   ,book_name as bookName
   ,price as price
   ,company_id as companyId
  from book where book_id = #value#
 </select>

 <!–リストに詰める –>
 <select id=”selBookToList”
  parameterClass=”java.lang.Integer”
  resultMap=”bookBeanInfo”>
  select book_id,book_name,price,company_id
  from book
  where price > #value#
 </select>

 <!–更新処理 –>
 <update id=”updateBook”
  parameterClass=”db.ibatis.domain.Book”>
  update book set
   book_name = #bookName#
   ,price = #price#
  where
   book_id = #bookId#
 </update>

</sqlMap>