zoukankan      html  css  js  c++  java
  • mybatis使用笔记

    关于动态SQL里的条件查询(if test):

    1.lombok插件和mybatis插件在有些变量名下会冲突,比如一个变量为rType的字段,lombok插件认为应该是getRType,但是mybatis和idea则会认为是getrType。不同的命名规范导致互相解析的时候就会找不到对应的get方法。所以在使用变量时尽量避免使用rTyp这种小写字母+大写字母的命名方法。

    2.SQL里的用条件查询的时候,判断规则比较麻烦,如果是比较字符串的话,建议都用双引号而不是单引号把判断条件括起来(外面用单引号)。因为如果字符串里是数字或是单个字母的话,使用单引号都会失效。数字的话,必须把单引号去掉,字符的话要加toString()方法(如'y'.toString())。

    3.空字符和0的坑:mybatis里面Integer类型如果为0,在XML里面会被等同于""(空字符串);而如果传的是字符串的0,也会等同于"";所以在mybatis的XML里的test判断,注意慎用空字符串""的判断,他会等同于数值0。从而被test语句给过滤掉,一般加上!=null的判断就好。PS.mybatis本身并不是用来做参数校验的,加上它自己的test判断逻辑和java的并不一致(很奇怪),已经踩过几次坑了。因此以后参数校验部分最好放在java端做,mybatis只用来做一些简单的非null判断.

  • 相关阅读:
    24点游戏 程序(一)
    24点游戏全解-1362组
    Android版 hanoi 汉诺塔 源码
    24点游戏 程序(二)
    Javascript 面向对象编程
    新浪微博 OAuth2 NodeJs发微博
    AT5800 [AGC043C] Giant Graph 题解
    CF1033D Divisors 题解
    CF1033E Hidden Bipartite Graph 题解
    AT???? [ABC255D] String Cards 题解
  • 原文地址:https://www.cnblogs.com/xujanus/p/5970867.html
Copyright © 2011-2022 走看看