这里着重介绍两种方式,一种是注解方式,另一种是javabean模式
1.注解方式:
方法:
public List<User> findByAnnotation(@Param("name") String name, @Param("age") int age);
映射文件:
<select id="findByAnnotation" resultType="user">
select id,name,age from user where name like concat('%',#{name},'%') and age < 23
</select>
此时并不需要给出parameterType属性,让MyBatis自动探索就可以了,但是如果参数过多的话,使用起来也不容易,这时就可以考虑使用javabean形式。
2.javabean形式:
先定义一个javabean类
public class User {
private String name;
private Integer age;
/**setter and getter**/
接口方法可以定义成
public List<User> findUserByBean(User user);
映射文件
<select id="findUsersByBean" resultType="user" parameterType="user的全路径名">
select id,name,age from user where name like concat('%',#{name},'%') and age < #{age}
</select>
进行查询
sqlSession = SqlSessionFactoryUtil.openSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setName("1");
user.setAge(24);
List<User> users = mapper.findUserByBean(user);