resultType 语句返回值类型的完整类名或别名
resultType 返回的是一个map集合,key是列名,value是对应的值
使用resultMap实现联表查询
注意:在dao层接口中的方法必须与mapper文件中的sql语句相对应。例如下列错误
junit报错如下
控制台输出
15 :01 :39.643 [main] DEBUG org.apache.ibatis.logging.LogFactory - Logging initialized using 'class org.apache.ibatis.logging.log4j2.Log4j2Impl' adapter.
15 :01 :39.649 [main] DEBUG org.apache.ibatis.io.VFS - Class not found: org.jboss.vfs.VFS
15 :01 :39.650 [main] DEBUG org.apache.ibatis.io.JBoss6VFS - JBoss 6 VFS API is not available in this environment.
15 :01 :39.650 [main] DEBUG org.apache.ibatis.io.VFS - Class not found: org.jboss.vfs.VirtualFile
15 :01 :39.651 [main] DEBUG org.apache.ibatis.io.VFS - VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment.
15 :01 :39.651 [main] DEBUG org.apache.ibatis.io.VFS - Using VFS adapter org.apache.ibatis.io.DefaultVFS
15 :01 :39.652 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Find JAR URL: file :/D:/program /jee-2020 -03 /workspace/mybatis-demo/build/classes/cn/bdqn/pojo
15 :01 :39.652 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Not a JAR: file :/D:/program /jee-2020 -03 /workspace/mybatis-demo/build/classes/cn/bdqn/pojo
15 :01 :39.696 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Reader entry: Role.class
15 :01 :39.698 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Reader entry: User.class
15 :01 :39.699 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Listing file :/D:/program /jee-2020 -03 /workspace/mybatis-demo/build/classes/cn/bdqn/pojo
15 :01 :39.699 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Find JAR URL: file :/D:/program /jee-2020 -03 /workspace/mybatis-demo/build/classes/cn/bdqn/pojo/Role.class
15 :01 :39.699 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Not a JAR: file :/D:/program /jee-2020 -03 /workspace/mybatis-demo/build/classes/cn/bdqn/pojo/Role.class
15 :01 :39.700 [main] DEBUG org.apache.ibatis.io.DefaultVFS - Reader entry: ����
原因是在RoleMapper接口中写方法,没有在相应的xml文件中写sql语句
RoleMapper.java
RoleMapper.xml
当数据库的列名与实体类不一样时,需要使用resultMap映射
联合查询时,也需要resultMap做关联映射
配置mybatis的log实现为log4j2,在后台打印输出时会打印sql语句
使用association来关联java Bean实现查询
当一个实体类是另一个实休类的属性时,如:
使用resultMap 的子属性association来实现
还可以单独写一个resultMap 然后在association中引用,如:
测试结果是一样的
当实体类中存在集合时
使用resultMap 中的collection来关联实现
测试类
测试结果
resultMap, association,collection中把需要的数据展示出来,不需要的数据可以不展示
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法