• 在mybatis-config.xml中配置分页插件,插件配置必须放在mapper前面
    <plugins>
<plugin interceptor="com.rrtong.frame.dao.PaginationInterceptor">
<property name="dialect" value="oracle"/>
</plugin>
</plugins>
  • Mybatis分页拦截器获取sql
      /*以下得到的是要执行的sql语句,并不是配置的sql语句*/
StatementHandler statementHandler = (StatementHandler)invocation.getTarget();
BoundSql boundSql = statementHandler.getBoundSql();
String originalSql = boundSql.getSql();
  • 出现java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction(Ljava/sql/Connection;)Lorg/apache/ibatis/transaction/Transaction;

版本不正确,需要使用更高版本的 mybatis-spring

https://mybatis.googlecode.com/files/mybatis-spring-1.2.1.zip

  • Mybaitis参数严格区分大小写

mybatis 配置文件中的参数绑定区分大小写,必须与传递的参数名保持一致

  • 出现数据类型111时,这是因为数据库字段数据类型与entity中的字段定义的数据类型不一致导致的,有以下两种方法解决

1、设定entity的数据类型与数据库类型一致
              2、在sql中定义参数的数据类型,比如

        where userCode = #{userCode, jdbcType=VARCHAR}
  • 实现数据库字段与实体字段的关系对应
     <resultMap id="Archive" type="Archive">
<id column="ARCHIVESKEY" property="archiveKey" />
<result column="title" property="archiveTitle" />
</resultMap>
  • 定义oracle数据库的mybatis获取主键并返回的配置,mybatis before after设置
<p>       <selectKey  keyProperty="archiveKey" order="BEFORE" resultType="String">
SELECT SEQ_ARCHIVE.NEXTVAL
FROM DUAL
</selectKey></p>
  • 定义其他数据库的Mybatis获取主键并返回的配置
    <insert id="insertUser" useGeneratedKeys="true" keyProperty="userId" parameterType="com.mybatis.User">
insert into user(userName,password)
values(#{userName},#{password})
</insert>
  • 定义mybatis查询结果注入到实体中
       <resultMap id="Archive" type="Archive">  
        <id     column="SPAARCHIVESKEY" property="archiveKey"     />  
        <result column="title"          property="archiveTitle"    />     
    </resultMap> <select id="getArchive" parameterType="HashMap" resultMap="Archive">
select
SPAARCHIVESKEY,
TITLE
from Archives
where USERCODE = #{userCode, jdbcType=VARCHAR}
And VALID= #{valid, jdbcType=VARCHAR}
</select>
  • 定义Mybaitis更新数据库表记录
        <update id="updateArchive" parameterType="Archive">
update Tbl_ARCHIVES
set
title = #{archiveTitle},
content = #{content},
feeValue = #{feeValue}
security = #{security},
subjectType = #{subjectType},
gradeType = #{gradeType},
gather = #{gather},
archiveType = #{archiveType},
keyWordName = #{keyWordName}
where archivesKey = #{archiveKey}
</update>
  • 定义mybatis删除数据表记录的方式
<delete id="deleteArchive" parameterType="String">
delete from title
where spaArchivesKey = #{archiveKey}
</delete>
  • 定义公共的sql语句,允许复用
    <sql id="addrColumn">
a.PUSH_ID,
a.MEMBER_ID,
a.CONTENT,
a.PHOTO,
a.PUSH_NAME,
a.IS_AUTO,
a.IS_FINE,
a.IS_SOURCE,
a.SOURCE_PUSH_ID,
DATE_FORMAT(a.CREATE_TIME,'%Y-%m-%d %H:%i:%s') CREATE_TIME,
DATE_FORMAT(a.DELETE_TIME,'%Y-%m-%d %H:%i:%s') DELETE_TIME
</sql>

引用复用的sql语句

	<select id="getMyOrFineBlog" parameterType="MicroBlog" resultType="MicroBlog">
SELECT
<include refid="addrColumn"/>
FROM TBL_BLOG_PUSH a, TBL_USER_MEMBER b
WHERE a.MEMBER_ID = b.MEMBER_ID
<if test="isFine == 1"> AND a.IS_FINE = #{isFine} </if>
</select>

Mybaitis配置总结的更多相关文章

  1. mybaitis配置信息

    在配置mybatis当中,jdbcType的名称要大写,时间类型DATE只能传入年月日,要想传入时分秒,应该使用TIMESTAMP http://www.blogjava.net/hello-yun/ ...

  2. 01-电子商城项目介绍及ssm框架搭建

    1.B2C电商项目功能及架构 1.1功能列表 1.2系统架构(soa架构) 2.后台管理系统工程搭建及测试 ypMall,ypMall-manager-web ypMall为父项目,管理子项目的jar ...

  3. Spring、SpringMVC、Mybaitis框架配置

    给大家推荐2个网址,介绍的非常详细 SSM环境搭建 http://blog.csdn.net/zhshulin/article/details/37956105 SSM代码生成工具介绍 http:// ...

  4. java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化

    一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...

  5. 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis

    springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...

  6. spring mvc整合mybaitis和log4j

    在上一篇博客中,我介绍了在mac os上用idea搭建spring mvc的maven工程,但是一个完整的项目肯定需要数据库和日志管理,下面我就介绍下spring mvc整合mybatis和log4j ...

  7. IDEA 安装配置及操作总结(新手必看)

    Jetbrains官网下载IDEA15 我们在浏览器输入网址https://www.jetbrains.com/.选择相应的系统版本,下载最新版本的IDEA15,Windows系统双击安装文件,根据界 ...

  8. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  9. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

随机推荐

  1. 【POJ 1830】 开关问题 (高斯消元)

    开关问题   Description 有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为 ...

  2. Linux中修改环境变量及生效方法

    在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”. 要让刚才的修改马上生 ...

  3. 计数方法(扫描线):JLOI 2016 圆的异或并

    Description 在平面直角坐标系中给定N个圆.已知这些圆两两没有交点,即两圆的关系只存在相离和包含.求这些圆的异或面 积并.异或面积并为:当一片区域在奇数个圆内则计算其面积,当一片区域在偶数个 ...

  4. [转]NHibernate之旅(7):初探NHibernate中的并发控制

    本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 ...

  5. web测试方面的知识

    web测试 软件测试体系架构设计 一.体系架构 1.C/S:客户端+服务器端,如QQ.单机版记事本.office等,所用语言:VB.C++.C.C#.JAVA.PB.D…等数组语言,C和S都是自己测, ...

  6. Oracle SQL编写注意事项

    1.SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.数据表最好起别名;因为便于sql优化器快速分析. 3.尽量不要使用 insert into tabl ...

  7. 关于缓存的tips——HTTP权威指南读书心得(十三)

    上一章介绍了缓存新鲜度判断的基本原理,本章对于缓存新鲜度判断方法进行一些补充(更新间隔略长略长..). 关于缓存的TIPS 服务器可以通过http定义的几种header对可以缓存数据的存在时间进行控制 ...

  8. HW4.15

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  9. 容联云通讯_提供网络通话、视频通话、视频会议、云呼叫中心、IM等融合通讯能力开放平台。

    容联云通讯_提供网络通话.视频通话.视频会议.云呼叫中心.IM等融合通讯能力开放平台. undefined

  10. Ubuntu下Django初体验(二)——创建工程及应用

    一.工程目录详解 创建工程后得到如下目录: 1. manage.py 管理项目.创建数据库.启动服务器等.测试等. 查看子命令: python manage.py 启动服务器: python mana ...