mybatis的参数传入
测试代码
@Test
public void select_all() throws IOException {
try (SqlSession sqlSession = MybatisUtil.createSqlsession()) {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
// pojo对象作为参数
// User user = new User();
// user.setUserName("张");
// for (User user1 : mapper.selectbyuser(user) ) {
// System.out.println(user1.getUserName());
// }
//----------------------------------------------------------------------------------
// map传参
// Map<String,String> usermap = new HashMap<String,String>();
// usermap.put("userName","张");
// for (User user1 : mapper.selectbymap(usermap) ) {
// System.out.println(user1.getUserName());
// }
//-----------------------------------------------------------------------------------
//
// 单独传参
// String userName = new String("张");
// for (User user1 : mapper.selectbyparam(userName) ) {
// System.out.println(user1.getUserName());
// }
// }
// @Param注解 使用时xml文件中不需要paramType,单的参数可以不加注解
String userName = new String("张");
String userPassword = new String("123456");
for (User user1 : mapper.selectnyannot(userName, userPassword)) {
System.out.println(user1.getUserName());
}
}
}
mapper接口
public interface UserMapper {
public List<User> selectbyuser(User user);
public List<User> selectbymap(Map<String,String> usermap);
public List<User> selectbyparam(String userName);
public List<User> selectnyannot(@Param("userName") String username,@Param("userPassword") String password);
}
mapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wj.dao.mapper.UserMapper">
<select id="selectbyuser" resultType="com.wj.dao.pojo.User">
select * from tb_user where userName like concat('%',#{userName},'%')
</select>
<select id="selectbymap" resultType="com.wj.dao.pojo.User" parameterType="Map">
select * from tb_user where userName like concat('%',#{userName},'%')
</select>
<select id="selectbyparam" resultType="com.wj.dao.pojo.User" parameterType="String">
select * from tb_user where userName like concat('%',#{userName},'%')
</select>
<select id="selectnyannot" resultType="com.wj.dao.pojo.User">
select * from tb_user where userName like concat('%',#{userName},'%') and userPassword = #{userPassword}
</select>
</mapper>
