mybatis的拓展-----mybatis的内置参数和OGNL表达式的使用

mybatis的两个内置参数

1,_parameter 代表整个参数

单个参数,_parameter 就是这个参数
多个参数 会被封装成一个map,_parameter就是代表这个map

例如接口中有一个方法  public List<Employee> getEmpsTestInnerParameter(Employee employee);

_parameter就代表employee对象
2,_databaseId 如果配置了databaseIdProvider标签, _databaseId就是代表当前数据库的别名,mysql或者oracle等等。
在mybatis配置文件中配置

OGNL在mybatis中的使用

参照:一文全解:OGNL表达式以及Mybatis中的OGNL表达式-CSDN博客

案例:

   在使用Mybatis时,由于该sql存在两个实体类对象,我只对一个实体类添加了属性,没对另一个实体类添加属性,如果案例之前的写法

 则会运行错误,报实体类没有该属性。

  通过使用OGNL表达式和mybatis的内置参数_parameter 进行了修改完善

  

 上述中先将_parameter 转变为JSON字符串,再判断是否含有对应字段名称,有就进行后续判断,没有就直接跳过该if标签。

这样就先判断了该实体类是否有字段,再判断该字段是否为空。

posted @ 2024-11-25 15:06  呼呼大睡猪小弟  阅读(225)  评论(0)    收藏  举报