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マッパー
  • 
    
       
    <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)
  • cache−与えられた名前空間のキャッシュを構成する。
  • cache-ref–キャッシュ構成を他の名前空間から引用する。
  • resultMap–最も複雑で、最も強力な要素であり、データベースの結果集からあなたのオブジェクトをロードする方法を説明します。アドバンストマップを使用する必要があります。
  • sql–再利用可能なSQLブロックは、他の語句によって参照されてもよい。
  • insert–マッピング挿入文
  • udate–マッピング更新文
  • delete–マッピング削除文
  • select–マッピングクエリ文
  • 
    
    <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>