Mybatis 多对一 按查询嵌套处理和按结果嵌套处理

网友投稿 534 2022-11-23

Mybatis 多对一 按查询嵌套处理和按结果嵌套处理

Mybatis 多对一   按查询嵌套处理和按结果嵌套处理

实体类

@Data public class Student { -- 学生 private int id; private String name; //学生要关联一个老师 private Teacher teacher; } @Data public class Teacher {-- 老师 private int id; private String name; }

新建学生mapper接口

public interface StudentMapper { //查询所有的学生信息,以及对应的老师信息 List getStudent(); }

按查询嵌套处理

association 标签

association 标签包含以下属性。 property:对应实体类中的属性名,必填项。 javaType: 属性对应的 Java 类型。 resultMap: 可以直接使用现有的 resultMap

association 标签的嵌套查询常用的属性+ 懒加载

association 标签的嵌套查询常用的属性如下。 1.select:另一个映射查询的 id, MyBatis 会额外执行这个查询获取嵌套对象的结果。 2.column :列名(或别名),将主查询中列的结果作为嵌套查询的参数,配置方式如 column={propl=coll , prop2=col2}, propl 和 prop2 将作为嵌套查询的参数。 3.**fetch Type:数据加载方式,可选值为 lazy 和 eager,分别为延迟加载和积极加载, **

在resources 下新建mapper.xml

按结果嵌套处理

db.propers

driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8 username=root password=123456

logger

log4j.rootLogger=DEBUG,console,file #控制台输出的相关设置 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.Threshold=DEBUG log4j.appender.console.layout = org.apache.log4j.PatternLayout #log4j.appender.console.layout.ConversionPattern=[%c]-%m%n log4j.appender.console.layout.ConversionPattern=%5p [%t] - %m%n #文件输出的相关设置 log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File=./log/rzk.log log4j.appender.file.MaxFileSize=10mb log4j.appender.file.Threshold=DEBUG log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n #日志输出级别 log4j.logger.org.mybatis=DEBUG log4j.logger.java.sql=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG

mybatis-config.xml

测试结果

总结

查询和结果处理的区别:查询需要查询多条数据,而按结果处理只需要一条sql语句就可以完成1.关联 - association [多对一]2.集合 - collection [一对多]3.javaType & ofType1.javaType用来指定实体类中属性的类型2.ofType 用来指定映射到List或者集合中的pojo类型,泛型中约束类型

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot常用注解及配置文件加载顺序详解
下一篇:Github 使用ssh连接GitHub
相关文章

 发表评论

暂时没有评论,来抢沙发吧~