接口测试从零开始5_教你如何使用ibatis

发表于:2011-12-13 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小刀    来源:51Testing软件测试博客

  1、创建pojo类

  public classPingJia

  2、创建Dao接口

  publicinterfaceIPingJiaDao

  3、使用ibatis编写实现类

  1)通过pom依赖引入ibatis包

<dependency>
     <groupId>com.ibatis</groupId>
     <artifactId>ibatis</artifactId>
     <version>2.3.4.726</version>
</dependency>

  2)编写实现类,引入ibatisSqlMapClient和Resource

importcom.ibatis.common.resources.Resources;
importcom.ibatis.sqlmap.client.SqlMapClient;
importcom.ibatis.sqlmap.client.SqlMapClientBuilder;

  3)配置POJO类的IBatis配置文件pingjia.ibatis.xm

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEsqlMapPUBLIC"-//ibatis.apache.org//DTDSQLMap 2.0//EN"

       "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMapnamespace="PingJiaDao">

  <!--命名空间,在此空间外要引用此空间的元素,则需要加上命名空间名-->

   <typeAliasalias="pingJia"type="com.koubei.testlearnning.pojo.PingJia"/> 

   <!--实体别名, 如果有用到全名的地方,可以用别名代替,受命名空间约束-->

   <resultMapclass="com.koubei.testlearnning.pojo.PingJia"id="PingJia">

      <resultcolumn="pingjiaid"property="pingJiaId"/>

      <resultcolumn="pingjiacontent"property="pingJiaContent"/>

      <resultcolumn="storeid"property="storeId"/>

      <resultcolumn="pingjiatype"property="pingJiaType"/>

      <resultcolumn="pingjiadate"property="pingJiaDate"/>

   </resultMap>

   <!--结果集映射,-->

   <deleteid="delete"parameterClass="java.lang.String">

   <!--删除操作-->

       delete frompingjiawherepingjiaid=#pingJiaId#

   </delete>

   <insertid="insert"parameterClass="pingJia">

   <!--插入操作 对于自增主键的表,插入可以不配置插入的主键列,否则是必须的-->

       insert

       intopingjia(pingjiaid,pingjiacontent,storeid,

      pingjiatype,pingjiadate)

       values(#pingJiaId#, #pingJiaContent#, #storeId#, #pingJiaType#,#pingJiaDate#)

   </insert>

   <updateid="update">

   <!--更新操作-->

       update task_info

      <dynamicprepend="set">

   <!--动态sqlprepend表示链接关键字,property表示属性值-->

      <isNotNullprepend=" , "property="pingJiaContent">

             pingjiacontent=

              #excutePerson#

       </isNotNull>

          <isNotNullprepend=" , "property="storeid">

             storeid=#storeId#

          </isNotNull>

          <isNotNullprepend=" , "property="pingJiaType">

             pingjiatype

              =#pingJiaType#

       </isNotNull>

          <isNotNullprepend=" , "property="pingjiadate">

             pingjiadate

              =#pingJiaDate#

               </isNotNull>

      </dynamic>

       wherepingjiaid=#pingJiaId#

   </update>

   <selectid="getPingJiaList"parameterClass="java.lang.String"resultMap="PingJia">

   <!--查询操作,插入语句入参通过parameterClass="类别名"来设定,可以设定类别名,也可以设定为map

   也可以设定为iBatis支持的原生类型(比如stringintlong等,  map是最强大的入参方式,任何入参方式

   都可以转换为这种入参方式,因为iBatis仅接受一个入参,当几个参数分布在不同对象中的时候,将这些对象

   的属性(或者对象本身put)到map中,然后一次传递给sql语句-->

      sselect* frompingjiawhere storeId = #storeId#

   </select>

      <selectid="getGoodPingNum"parameterClass="java.lang.String">

      sselectcount(1) frompingjiawhere storeId = #storeId# andpingjiatype=1

   </select>

      <selectid="getPingJiaNum"parameterClass="java.lang.String">

      sselectcount(1) frompingjiawhere storeId = #storeId#

   </select>

</sqlMap>

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 系统消息
    2011-12-13 22:31:58

    文章不错,貌似排版有点乱

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号