mybatis内置参数

mybatis默认还有两个内置参数:

  • _parameter;代表整个参数

    • 单个参数:_parameter就是这个参数

    • 多个参数:参数会被封装为一个map; _parameter就是代表这个map

  • _databaseId;如果配置了DatabaseIdProvider标签

    • _databaseId就是代表当前数据库的别名

配置DatabaseIdProvider标签

在配置文件中配置

<databaseIdProvider type="DB_VENDOR"><property name="MySQL" value="mysql"/><property name="Oracle" value="oracle"/></databaseIdProvider>
   public List<Employee> getEmpsTestInnerParameter(Employee employee);
<!--    public List<Employee>  getEmpsTestInnerParameter(Employee employee);-->
<select id="getEmpsTestInnerParameter" resultType="com.atguigu.mybatis.bean.Employee">
<!--<bind name = "_lastName" value = "'%'+lastName+'%'"/>-->
<if test = "_databaseId=='mysql'">select * from tb1_employee<if test = "_parameter!=null">where last_name like #{_parameter.lastName}</if>
</if><if test = "_databaseId == 'oracle'">select * from employees<if test = "_parameter!=null">where last_name like #{_parameter.lastName}</if></if></select>
    @Testpublic void test04() throws IOException {SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();SqlSession sqlSession = sqlSessionFactory.openSession();try{EmployeeMapperDynamicSQL mapper = sqlSession.getMapper(EmployeeMapperDynamicSQL.class);Employee employee = new Employee();employee.setLastName("%a%");List<Employee> emps = mapper.getEmpsTestInnerParameter(employee);for (Employee e : emps){System.out.println(e);}}finally {sqlSession.close();}}

[mybatis]动态sql_内置参数_parameter_databaseid相关推荐

  1. 17、mybatis两个内置参数

    不只是方法传递过来的参数可以被用来判断,取值. mybatis默认还有两个内置参数, _parameter:代表整个参数 单个参数:_parameter就是这个参数 多个参数:参数会被封装为一个map ...

  2. mybatis入门学习(九) -DB环境切换、使用注解、事务提交、获取自增ID、多参数传参、鉴别器、内置参数、批量写入、Oracle字段无法插入 null 值

    一.多数据库环境切换 1.config配置: <!-- default="mydemo" 指定连接的数据库 --><environments default=&q ...

  3. Mybatis 动态传入order by 参数排序无效

    Mybatis 动态传入order by 参数排序无效 一.背景 2019年4月14日,下午5点半,今天周末,但依旧加点调程序,补补丁.遇到这个坑,耗了我一会,我也很无奈啊,还好当时就解决了,特此记录 ...

  4. Ansible Inventory内置参数

    参考文章:Ansible Inventory内置参数 - 简书 How to build your inventory - Ansible Documentation /etc/ansible/hos ...

  5. maven 内置参数

    2019独角兽企业重金招聘Python工程师标准>>> maven 内置属性共6类 内置属性 ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version ...

  6. MyBatis动态SQL_多表查询_延迟加载_缓存

    POJO包装传递对象 //POJO实体 public class QueryConditionObject {private User user;//user get,set方法 }//Dao 接口 ...

  7. Revit二次开发—获取内置参数对应的中文字符串,并导出Excel;举例(BuiltParameterGroup、ParameterType和BuiltInCategory)

    参考文章: 原文链接: http://blog.csdn.net/joexiongjin/article/details/10149127 作者:  叶雄进 , Autodesk ADN 实现代码 文 ...

  8. MyBatis动态SQL语法详解(二)

    文章目录 一.MyBatis查询返回 1.1.MyBatis查询返回对象 1.2.MyBatis查询返回list集合 1.3.MyBatis查询返回Map 1.4.MyBatis查询自定义结果映射规则 ...

  9. MyBatis动态标签

    常见的动态标签 if choose, when, otherwise trim,where,set foreach bind sql mybatis通过OGNL表达式来进行取值操作;比如:#{user ...

最新文章

  1. MYSQL 与 Oracle 之间的数据类型转换
  2. 左神算法:生成窗口最大值数组(Java版)
  3. java连接access2013数据库_滴水穿石–Java连接Access数据库及其操作
  4. 计算机电源风扇维修,电脑电源开关维修和电源风扇加油图解全过程.doc
  5. 谷歌浏览器检查更新时出错:无法启动更新检查(错误代码为 3: 0x80080005 -- system level)
  6. DDD专家张逸:复杂与架构演进的关系
  7. 以下会使线程进入到阻塞状态的是_Python并行编程(五):多线程同步之event(事件)...
  8. Python打包应用程序
  9. [0]Android框架揭秘-概论
  10. Maven安装配置及在idea中配置
  11. 矩阵计算器——大一c++大作业回顾
  12. oracle19c特性以及CDB环境搭建
  13. WEB基础之:CSS字体
  14. 微信跳一跳游戏的脚本
  15. 工业相机测量仪毛管测量直径与长度值
  16. Cisco Packet Tracer-物联网实验
  17. 盈米基金如何实现基金实时评价的百倍提速?
  18. 一星期总结:U盘量产与USB-CDROM制作及修改晨枫U盘维护V2.0完全攻略
  19. mysql的主句与从句_英语语法总结---二、英语中的从句是怎么回事
  20. mysql:[ERR] 32> 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘createTime‘ at ro

热门文章

  1. 菜鸟学ASP.NET MVC4入门笔记
  2. C语言试题汇总200例目录
  3. C++之greater和less
  4. Android之ndk之gdb调试
  5. Android之Timer和TimerTask的介绍
  6. Android之如何解决popupWindow(pw.setFocusable(true))按返回键和menu键退出
  7. 服务器线程数一直增加,.NET Core中遇到奇怪的线程死锁问题:内存与线程数不停地增长...
  8. java内存四大区,jvm基础-内存区域
  9. 你们的数学老师是怎么读这些符号?
  10. 手把手教出欧拉!数学界最伟大的老师惨遭全网歪曲抹黑,奇葩说陈铭一句话揭露真相.........