文章目錄
- 1.MyBatis中map的應用
- 1.1.應用場景
- 2.2.具體實作
- 1.3.注意點!!!
- 2.模糊查詢
1.MyBatis中map的應用
1.1.應用場景
假設,物體類,或者資料庫中的表,欄位或者引數過多,應當考慮使用Map!!!
2.2.具體實作
//萬能map
int addUser2(Map<String,Object> map);
<!--物件中的屬性,可以直接取出來 parameterType=傳遞map中的key-->
<insert id="addUser" parameterType="map">
insert into mybatis.user (id, name, pwd) values (#{userId},#{userName},#{passWord});
</insert>
@Test
public void addUser(){
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map = new HashMap<String,Object>();
map.put("userid",5);
map.put("userName", "Hello");
map.put("passWord","123456");
userMapper.addUser2(map);
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
}finally {
sqlSession.close();
}
}
1.3.注意點!!!
- Map傳遞引數,直接在sql中取出key即可!【parameterType=“map”】
- 物件傳遞引數,直接在sql中取物件的屬性即可!【parameterType=“Object”】
- 只有一個基本型別引數的情況下,可以直接在sql中取到! 多個引數用Map,或者注解!
2.模糊查詢
User gteUserById(Map<String,Object> map);
<select id="getUserLike" resultType="com.pojo.User">
select * from mybatis.user where name like #{value}
</select>
@Test
public void getUserLike(){
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = userMapper.getUserLike("%lyh%");
for(User user : userList){
System.out.println(user);
}
}catch(Exception e){
e.printStackTrace();
}finally {
sqlSession.close();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351961.html
標籤:其他
