1、map
接口中:
int addUser2(Map<String,Object> map);
mapper.xml中:
<insert id="addUser2" parameterType="map" > insert into user(id,name,pwd) values (#{userid},#{username},#{userpwd}); </insert>
test中:
@Test public void addUser2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("userid",6); map.put("username","田七"); map.put("pwd","45678"); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
map优点:写SQL语句时参数不用一定和实体类的属性相同,可以自定义。同时map.put时可以为空的属性可以不写也不会出错,当属性很多时,而要修改的字段很少,此时用map会很方便。
2、模糊查询
接口中:
List<User> getUserByName(String value);
mapper.xml中:
<select id="getUserByName" resultType="com.xiao.pojo.User"> select * from user where name like #{value} </select>
test中:
@Test public void getUserByName(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> user = mapper.getUserByName("%李%"); for (User user1 : user) { System.out.println(user1); } sqlSession.close(); }