这里分别记录使用过的七种传参方式:
程序就知道哪个参对应拼接完SQL的哪个条件字段
并且Mapper.xml中parameterType不用去指定,因为使用@Param注解后,MyBatis可以通过类型处理器(TypeHandler) 来推断出具体传入语句的参数
这是最简单省事的,Mapper.java中直接把实体类丢进去即可
在Mapper.xml中parameterType直接指定为实体类,resultMap指定为实体类的Result即可
下面是对应实体类的Result
在Mapper.xml中parameterType直接指定为VO,resultMap指定为实体类的Result即可
因为在这种情况下,使用一个实体类为入参,属性是不够的,下面是Mapper.java
在Mapper.xml中parameterType直接指定为Model,resultType指定为实体类即可
下面是Mapper.java,入参和返回都是以List
在Mapper.xml中parameterType就可以不指定了,resultType指定为map即可
- = #{eid} (全匹配)
- like '%${enterpriseName}%' (模糊)
在调用这个方法时,创建map,把值put进去即可
别的地方都是一样,就是入参赋值时给map.put进去一个List就行了;
然后在Mapper.xml中parameterType依旧不指定,resultType还是为map;
注意这个里面collection的值是前面map.put时候的key值,不要混了
测试结果:
以Long id 查 实体类List