ibatis快速小结

来源:互联网 发布:网络神曲视频 编辑:程序博客网 时间:2024/04/27 19:54

   相比hibernate来说,ibatis灵活性更好,下面小结之.

1 user.hbm.xml

<sqlMap namespace="Users">

  <typeAlias alias="users" type="com.product.user.Users"/>
  

  <select id="getUserByAccount" resultClass="users" parameterClass="java.lang.String">
    SELECT
      UserId,
      UserName,
      Account,
      Password
    FROM Users where Account=#account#
  </select>

</sqlMap>

 其中  <typeAlias alias="users" type="com.product.user.Users"/>是别名

com.product.user.Users就是普通的POJO了.

 再来个复杂点的
  <sqlMap namespace="SellNote">
  <!-- 别名定义 -->
  <typeAlias alias="sellNote" type="com.product.sellnote.SellNote"/>
  <typeAlias alias="product"  type="com.product.product.Product"/>
 
  <resultMap class="sellNote" id="get-sellNote-result">
   <result property="snId" column="SnId"/>
   <result property="orderFormNo" column="OrderFormNo"/>
   <result property="product" column="ProductId" select="getProductByprductId"/>
   <result property="pnumber" column="Pnumber"/>
   <result property="pactSum" column="PactSum"/>
   <result property="signDate" column="SignDate"/>
  </resultMap>

一个定单有多个product,所以 <result property="product" column="ProductId" select="getProductByprductId"/>

 <!-- 根据产品ID获取产品记录-->
  <select id="getProductByprductId" resultClass="product" parameterClass="java.lang.String">
    SELECT
      ProductId,
      ProductName,
      ProductNo
    FROM Product where ProductId=#productId#
  </select>

 

2 跟spring配置
   <!-- 配置Ibatis中的SqlMapClient -->
 <bean id="sqlMapClient"
  class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation">
   <value>/WEB-INF/sqlMapConfig.xml</value>
  </property>
  <property name="dataSource">
      <ref local="dataSource" />
    </property>
 </bean>

3 web-inf中的sqlmapconfig.xml
    <sqlMapConfig>
  <sqlMap resource="com/product/product/Product.xml"/>
  <sqlMap resource="com/product/sellnote/SellNote.xml"/>
  <sqlMap resource="com/product/user/Users.hbm.xml"/>
</sqlMapConfig>

原创粉丝点击