MyBatis常见Tips

Mybatis

XML配置
<setting name="mapUnderscoreToCamelCase" value="true"/>

配置后查询所有的时候 查找的参数会自动忽略下划线

元素

id:命名空间的唯一标识符

parameterType:传入的语句参数的完全限定类名或别名.该属性是可选的,不建议配置

flushCache:默认为true,任何时候只要调用语句,都会清空以及缓存和二级缓存

timeout:设置在抛出异常之前,驱动程序等待数据库返回请求结果的秒数

statementType:默认值为PREPARED可选STATEMENT\PREPARED\CALLABLE

userGenerateteKeys:默认值为false.设置为true,Mybatis会使用JDBC的getGeneratedKeys方法来取出由数据库内部生成的主键(适用于主键自增的数据库)

keyProperty:Mybatis通过getGeneratedKeys获取主键值后将要复制的属性名

<insert id="insert2" useGeneratedKeys="true" keyProperty="id">`

mysql中获取主键的另方法一种方法

<selectKey keyColumn="id" resultType="long" keyProperty="id" order="AFTER">
 SELECT LAST_INSERT_ID()
</selectKey>

keyColumn:仅对insert和update有用

insert语句中返回的int类型值是执行的SQL影响的行数

MyBatis常用的OGNL表达式
  1. e1 or e2

  2. e1 and e2

  3. e1 == e2 或 e1 eq e2

  4. e1 != e2 或 e1 neq e2

  5. e1 lt e2 : 小于

  6. e1 lte e2: 小于等于,其他表示为gt(大于) gte(大于等于)

  7. e1 + e2、 e1* e2 、e1-e2、e1%e2

  8. !e或 not e: 非,取反

  9. e.method(args):调用对象方法

  10. e.property:对象属性值

  11. e1[e2]:按索引取值(List/数组/map)

  12. @class@filed:调用类的静态字段值

存储过程

在调用存储过程的方法中,需要把statementType设置为CALLABLE,由于存储过程方式不支持MyBatis的二级缓存,因此将select标签的useCache属性设置为false

statementType=“CALLABLE” useCache=“false”

IN: 入参

OUT:出参,必须指定jdbcType

INOUT:输入输出参数

另外强烈推荐一本书<<Mybatis从入门到精通>>–刘增辉著

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值