深圳it培训,中国网站优化公司,建设部网站从哪登陆,深圳正规制作网站mybatis内置参数
mybatis默认还有两个内置参数: _parameter#xff1b;代表整个参数 单个参数:_parameter就是这个参数 多个参数:参数会被封装为一个map; _parameter就是代表这个map _databaseId#xff1b;如果配置了DatabaseIdProvider标签 _databaseId就是代表当前数据…mybatis内置参数
mybatis默认还有两个内置参数: _parameter代表整个参数 单个参数:_parameter就是这个参数 多个参数:参数会被封装为一个map; _parameter就是代表这个map _databaseId如果配置了DatabaseIdProvider标签 _databaseId就是代表当前数据库的别名
配置DatabaseIdProvider标签
在配置文件中配置
databaseIdProvider typeDB_VENDORproperty nameMySQL valuemysql/property nameOracle valueoracle//databaseIdProviderpublic ListEmployee getEmpsTestInnerParameter(Employee employee);!-- public ListEmployee getEmpsTestInnerParameter(Employee employee);--
select idgetEmpsTestInnerParameter resultTypecom.atguigu.mybatis.bean.Employee
!--bind name _lastName value %lastName%/--
if test _databaseIdmysqlselect * from tb1_employeeif test _parameter!nullwhere last_name like #{_parameter.lastName}/if
/ifif test _databaseId oracleselect * from employeesif test _parameter!nullwhere last_name like #{_parameter.lastName}/if/if/selectTestpublic 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%);ListEmployee emps mapper.getEmpsTestInnerParameter(employee);for (Employee e : emps){System.out.println(e);}}finally {sqlSession.close();}}