MyBatis-使用ResultMap操作
万能Map
假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map
UserMapper:
// “万能的Map”
int addUser2(Map<String,Object> map);
UserMapper.xml:
<!--传递map的key-->
<insert id="addUser2" parameterType="map">
insert into mybatis.user (id, name, pwd) values (#{userid},#{userName},#{password});
</insert>
UserTest:
@Test // 用Map添加用户
public void addUser2(){
// 1.获取SqlSession
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2.获取mapper,执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String, Object> map = new HashMap<>();
map.put("userid",4);
map.put("userName","Hello");
map.put("password","1433223");
mapper.addUser2(map);
// 3.提交事物
sqlSession.commit();
// 4.关闭资源
sqlSession.close();
}
Map传递参数,直接在sql中取出key即可【parameterType="map"】
对象传递参数,直接在sql中取对象的属性即可【parameterType="Object"】
只有一个基本类型参数的情况下,可以直接在sql中取到
多个参数用Map,或者注解!
模糊查询怎么写
-
Java代码执行的时候,传递通配符%%
List<User> userLike = mapper.getUserLike("%李%");
-
在sql拼接中使用通配符
select * from mybatis.user where `name` like "%"#{value}"%";
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术