文章目录
一对多的关联映射查询
SSM 框架中 Mybatis 的映射结果集查询
一、SSM 框架,使用 mybatis 进行一对多查询。
在 Mybatis 中使用的是 配置xml 文件映射实体与表结构进行多表查询的。
其中的主要内容就是 association 进行一表的关系映射,JavaType 表示的是Java实体类。
collection 进行多表的关系映射,ofType 表示的是 List 集合。
1.1、创建一个 Java 项目并导入mybatis所需要的jar文件。
下面源码链接里边有两个项目源码,供大家参考,有异议欢迎评论。
1.2、一对多查询
- 设置实体类 与 实体拓展类。
- 设置对应的结果集映射 resultMap
- 查询的测试
1.3、一对一查询
- 两种查询的方式,设置两种实体
- 设置映射的 mapper
- 查询的测试
hibernate 中的注解查询
二、使用@OnetoMany ,@ManytoOne 查询。
Hibernate 与 数据库交互不属于 Web 层应用,所以构建Java Project 项目即可。
- 1、创建 Java 项目,导入需要的数据库、hibernate 、log4j等的jar包。
- 2、创建数据库,建立正确的链接。(源码中有数据库sql文件)
- 3、因为是 hibernate项目,所以需要配置 hibernate.cfg.xml 文件。
// 下面的这个是 hibernate 核心配置文件的内容。仅供参考,(与项目中的配置信息有差异)
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 设置数据库的连接 -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate?useSSL=false&useUnicode=true&characterEncoding=UTF-8</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<!-- 数据库的方言:根据底层的数据库生成不同的SQL -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 配置显SQL -->
<property name="hibernate.show_sql">true</property>
<!-- 配置格式化SQL -->
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.current_session_context_class">thread</property>
<mapping class="Student"/>
<mapping class="Teacher"/>
</session-factory>
</hibernate-configuration>
在配置好上述文件之后,我们使用 JPA 注解进一步编写映射的实体类。
我们将分为三种方式来展现一对多的关系映射,分别是
1、单向的一对多 @OneToMany .
2、单向的多对一 @ManytoOne .
3、双向的 @OneToMany,@ManytoOne .
单向的一对多 @OneToMany
- 一表的实体
- 多表的实体
- 测试代码(更多详见源码)
单向的多对一 @ManytoOne
- 多表的注解的使用
- 一表进行正常的注解操作
- 下面是测试代码(更多都在源码中)
双向的 @OneToMany,@ManytoOne
- 一表的实体
- 多表的实体
- 测试代码
两者结合,开发更易。
- 使用 Mybatis 的注解开发,开发更容易。@Select 、@update等等
三、简化配置文件,逐步向Springboot迈进。
- 首先要了解 Mybatis 的注解的使用方法。
- @Select 简单查询
- @Select 条件查询
- 增改删的@InsertProvider、@UpdateProvider、@DeleteProvider
- Mybatis在3.2版本之后,提供了LanguageDriver接口,就是便于使用该接口自定义SQL的解析方式。可以在注解模式下简化SQL语句的硬拼接实现动态组合版SQL。
开始展开对 一对多 的展示。
基本的mybatis 项目的开发环境的配置
- 对实体类的编写。
- 对 mapper 的配置
- 执行两个测试方法。
源码以及数据库配置地址
- mybatis 的高级关系映射 源码
- hibernate 一对多配置 源码
Mybatis 注解一对多源码
有问题,欢迎大家留言一起讨论