ibatis中常用的代码片段总结

原创 2016年06月01日 14:18:28

在ibatis中,一定要注意实体类的地址和实体类对应的属性一定正确,否者出错。
update:

<update id="方法名" parameterClass="传入值或者传入的实体类">
    <![CDATA[
        update 表名
    ]]>
    <dynamic prepend="set">
        <isNotEmpty property="传入值或者实体类属性" prepend=",">
            <![CDATA[ 表字段 = #传入值或者实体类属性# ]]>
        </isNotEmpty>
        <isNotEmpty property="传入值或者实体类属性" prepend=",">
            <![CDATA[ 表字段 = #传入值或者实体类属性#  ]]>
        </isNotEmpty>
        ... ...
    </dynamic>
    <dynamic prepend="where">
        <isNotEmpty property="传入值或者实体类属性条件" prepend="and">
            <![CDATA[ 表字段 = #传入值或者实体类属性条件# ]]>
        </isNotEmpty>
        ... ...
    </dynamic>
</update>   

insert:
在插入的时候一般是什么数据库,比如mySQL是id自增属性,不必关心起自增量,但是ORCALE就不是那么回事了。以下 是orcale的实例:

<insert id="方法名" parameterClass="传入的实体类">
        <selectKey resultClass="java.lang.String" keyProperty="自增Id">
            <![CDATA[
                select 表名_SEQ .nextval  as id from dual 
            ]]>
        </selectKey>
        <![CDATA[
            insert into  表明
            (
              插入的字段,
              插入的字段1,
              ... ...
            )
            values(
                #实体类属性值#,
                #实体类属性值1#,
                ... ... 
            )
        ]]>
</insert>   

select(常用):

<select id="方法名" parameterClass="传入值或者是实体类"
        resultClass="返回值或者是实体类">
       <![CDATA[
            select 字段1,
                   字段2,
                   ... ...
              from 表明
             where 1=1 and 条件 and id=#id#
        ]]>
        <dynamic>
            <isNotEmpty property="实体类属性" prepend="and">
            <![CDATA[ 字段1 like #实体类属性,handler=wildcard# escape '\' ]]>
            </isNotEmpty>
        </dynamic>
</select>

delete:

<delete id="方法名" parameterClass="传入的值或者实体类">
        <![CDATA[
            delete 表名
                where id = #id#
                 and 字段1 = #实体类属性#
                 and ... ...
         ]]>
    </delete>
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/captian_900331/article/details/51555634

Part 18:Cocos2d-x开发实战-Cocos2d-x中的常用设计模式

介绍了软件设计模式的由来,然后重点介绍了Cocos2d-x开发中常用的三种模式——单例模式、委托模式和观察者模式。在这三种模式的介绍中,我们介绍了每种模式的适用情况和实现原理,然后用具体案例来说明其用法
  • 2016年04月12日 13:37

mysql error code '1064' 排查过程

下午自测代码,在这个update上卡了一个半小时,大大的降低了开发的生产力,把排查过程发出来,好的士兵不会掉进同一个陷阱。先把异常堆栈打出来。 2016-03-28 17:23:38.420 main...
  • bruce128
  • bruce128
  • 2016-03-28 18:02:59
  • 15977

ibatis中如何优化SQL

1. 杜绝SELECT * 表连接时,绝不允许写select * ,否则按照编码错误Bug处理.     单表查询,一般情况下可以使用select *,但以下几种情况禁用:     a、表...
  • wanglipo
  • wanglipo
  • 2012-01-14 16:04:48
  • 3332

Ibatis动态SQL标签用法

对于一些特殊符号,如大于号>、小于号 1、动态SQL片段 通过SQL片段达到代码复用 动态条件分页查询 -->         sql id="sql_count">       ...
  • linguihaiRoger
  • linguihaiRoger
  • 2011-10-20 17:40:09
  • 28315

一个简单的ibatis.net架构(包含项目模板代码下载)

1        基本介绍 iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,...
  • zhdd1234
  • zhdd1234
  • 2011-12-25 20:18:50
  • 740

ibatis打印出底层执行的所有 Sql

在使用ibatis作为持久层 时 我们调试程序如果能够确切的知道到底执行的Sql语句,对于调试程序是非常有帮助的.在 com.ibatis.sqlmap.engine.scope.RequestSco...
  • zwhfyy
  • zwhfyy
  • 2007-03-05 20:18:00
  • 4551

IBATIS事务处理

iBATIS事务处理是和Dao紧密相联的。          在使用Dao时,如以下代码,先插入新记录,再进行更新:          UserDao.insertUser (user); // ...
  • wanghuan203
  • wanghuan203
  • 2012-12-31 23:12:11
  • 26053

实现ibatis手动控制加载sqlmap文件,终于不用重启应用了

大学毕业之后到公司,就是velocity+springMVC+srping+ibatis,所以一直在用ibatis做持久层,其他的几个框架也都是稍有了解。 好了屁话少说进入正题:之前有写一篇文章 《...
  • lywybo
  • lywybo
  • 2013-06-19 19:18:14
  • 3704

iBatis框架使用 4步曲

iBatis框架是Java持久层开发框架,说白了就是前人写了一部分代码(针对数据库操作),我们要做的就是再次开发,拿来框架直接使用。   我们自己开发时,dao层的sql语句都是写死在程序中的,如果...
  • xiaole0313
  • xiaole0313
  • 2015-07-21 12:56:49
  • 846

spring+springMVC+ibatis集成示例

spring+springMVC+ibatis集成
  • geyouchao
  • geyouchao
  • 2016-06-28 10:38:46
  • 5750
收藏助手
不良信息举报
您举报文章:ibatis中常用的代码片段总结
举报原因:
原因补充:

(最多只允许输入30个字)