1 | MyBatis获取参数值的两种方式:${}与#{} |
情况一:mapper接口方法参数为单个字面量类型
1 |
|
1 | <!--User getUserByUsername(String username);--> |
情况二:mapper接口方法参数为多个
- 使用arg0,arg1,…… 或 param1,param2,…… 为键,参数为值
- 只需通过#{}或${}以键的方式访问值即可
1 |
|
1 | <!--User checkLogin(String username, String password)--> |
情况三:mapper接口方法参数有多个,可以手动放在一个map中存储
- 只需通过#{}或${}以键的方式访问值即可
1 |
|
1 | <!--List<User> checkLoginByMap(Map<String, Object> mp)--> |
情况四:参数是一个实体类类型
- 直接通过属性名访问属性值
1 |
|
1 | <!--int insertUser(User user)--> |
情况五:通过@param命名参数
- 以@param注解的值 或 param1,param2,……为键,以参数为值
1 |
|
1 | <!--List<User> checkLoginByParam(@Param("username") String username, @Param("password") String password)--> |
建议整合为两种情况
- 参数是实体类对象
- 否则全都用@param