MyBatis-day-03 和 Maven 构建Java SE 项目

MyBatis

一对多查询

单向多对多之额外 SQL 查询 根据 id 查询学生,并查询其老师。

需要添加 Mapper 接口 和 Mapper XML

StudentMapper 接口

java
复制代码
public interface StudentMapper { Student get(Long id); }

StudentMapper.xml 文件

xml
复制代码
<resultMap type="Student" id="baseResultMap"> <id column="id" property="id"/> <result column="name" property="name"/> <!-- 关联属性,让 MyBatis 发额外 SQL --> <collection select="cn.wolfcode.mapper.TeacherMapper.queryByStudentId" column="id" property="teachers"/> </resultMap> <select id="get" resultMap="baseResultMap"> SELECT id, name FROM student WHERE id = #{id} </select>

TeacherMapper

java
复制代码
package xxx.xxx.mapper; public interface queryByStudentId { Teacher get(Long id); }

TeacherMapper.xml 文件

xml
复制代码
<select id="queryByStudentId" resultType="Teacher"> SELECT t.id, t.name FROM teacher_student ts JOIN teacher t ON ts.teacher_id = t.id WHERE ts.student_id = #{studentId} </select>

单元测试方法

java
复制代码
public class Many2oneTest { @Test public void testGet() throws Exception { SqlSession session = MyBatisUtil.getSession(); StudentMapper studentMapper = session.getMapper(StudentMapper.class); Student student = studentMapper.get(2L); System.out.println(student); session.close(); } }

多对多查询

多对多映射关系 什么是多对多关系: 一对多关系就是表A中一条数据对应表B中的多条数据,例如,用户和订单之间的关系,一个用户可以有多个订单信息。

在mybatis中,与一对多映射一致,我们通过resultMap元素的子元素 collection来进行处理。

需要注意的是:在一对多映射和多对多映射中,collection 元素属行中使用的是ofType属性来指定实体对象,而不是使用JavaType属性。

resultType

作用:将查询结果按照sql列名pojo属性名一致性映射到pojo中。 场合:常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可。 resultMap

使用association和collection完成一对一和一对多高级映射(对结果有特殊的映射要求)。

association:

作用:将关联查询信息映射到一个pojo对象中。 场合:为了方便查询关联信息可以使用association将关联订单信息映射为用户对象的pojo属性中,比如:查询订单及关联用户信息。 使用resultType无法将查询结果映射到pojo对象的pojo属性中,根据对结果集查询遍历的需要选择使用resultType还是resultMap。

collection:

作用:将关联查询信息映射到一个list集合中。 场合:为了方便查询遍历关联信息可以使用collection将关联信息映射到list集合中,比如:查询用户权限范围模块及模块下的菜单,可使用collection将模块映射到模块list中,将菜单列表映射到模块对象的菜单list属性中,这样的作的目的也是方便对查询结果集进行遍历查询。如果使用resultType无法将查询结果映射到list集合中。

Maven

maven 导入的jar包具有传递性,会自动导入该jar包需要的其他jar包

安装Maven及配置相关文件,环境变量

安装

访问 Maven 的官方网站:https://maven.apache.org/。

下载 Maven 的二进制发行版(Binary zip archive),选择最新版本并下载。

解压下载的二进制发行版到你选择的安装目录,例如 C:\Program Files\apache-maven-3.x.x(Windows)或 /usr/local/apache-maven-3.x.x(Linux/Mac)

配置环境变量

  1. 右键点击 "此电脑"(或 "计算机"),然后选择 "属性"。

  2. 在左侧面板中,点击 "高级系统设置"。

  3. 在 "系统属性" 对话框中,点击 "环境变量" 按钮。

  4. 在 "系统变量" 部分,找到 "Path" 变量,然后点击 "编辑"。

  5. 在 "编辑环境变量" 对话框中,点击 "新建",并添加 Maven 的 bin 目录路径,例如 C:\Program Files\apache-maven-3.x.x\bin。

  6. 点击 "确定" 关闭所有对话框。

配置第三方中央仓库

在maven 安装目录下打开 settings.xml 文件。

<repositories>元素中,你可以配置自定义的仓库。

xml
复制代码
<repositories> <repository> <id>myrepository</id> <url>http://your-custom-repository-url.com</url> </repository> </repositories> 这里,<id> 是自定义仓库的唯一标识符,<url> 是仓库的地址。你可以添加多个自定义仓库。

保存settings.xml 文件。

在IDEA中使用Maven 构建JAVA SE 项目

  1. 打开 IntelliJ IDEA。

  2. 创建一个新的 Java 项目或打开现有的项目。

  3. 在项目的根目录中,你可以看到一个 pom.xml 文件,这是 Maven 项目的配置文件。确保该文件存在。

  4. 打开 IntelliJ IDEA 的项目设置:

  5. 在 Windows 上,点击 "File" > "Settings"。

  6. 在左侧面板中,选择 "Build, Execution, Deployment"(构建、执行、部署)。

  7. 在右侧窗格中,选择 "Build Tools"(构建工具)下的 "Maven"。

  8. 在 "Maven home directory"(Maven 安装目录)字段中,选择 Maven 安装的目录,例如 C:\Program Files\apache-maven-3.x.x(Windows)或 /usr/local/apache-maven-3.x.x(Linux/Mac)。

  9. 点击 "Apply" 和 "OK" 以保存设置。

  10. IntelliJ IDEA 现在将使用 Maven 来构建和管理你的 Java 项目。

  11. 你可以在 IntelliJ IDEA 的 Maven 工具窗口中执行 Maven 构建任务,例如 clean, install 等。打开 Maven 工具窗口的方式是点击底部的 "Maven" 标签或在 "View" > "Tool Windows" 中选择 "Maven"。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP