引:
“一个用户可以有多个订单,多个订单也可以归一个用户所有。”
本文主要实现《Java EE企业级应用开发教程(Spring+SpringMVC+Mybatis)》第2版中第4章中的MyBatis一对一查询。
本文使用工具:IDEA2024、jdk1.8、maven3.6.3
jdk1.8下载地址:jdk1.8.0_131.zip(访问密码: 8855): https://url47.ctfile.com/f/64055047-1502030626-bfbf38?p=8855
Maven3.6.3下载地址:apache-maven-3.6.3.zip (访问密码: 8855): https://url47.ctfile.com/f/64055047-1502030329-d91abe?p=8855
可能遇到的报错:
java.io.IOException: Could not find resource mybatis-config.xml
IDEA 连接数据库报错Public Key Retrieval is not allowed
本文下载源代码在文章末尾。
0.数据库创建
我们按照下面的方式创建数据库和数据表
— 创建数据库 CREATE DATABASE IF NOT EXISTS mybatis; — 使用数据库 USE mybatis; — 创建tb_user表 CREATE TABLE IF NOT EXISTS tb_user ( id INT(32) PRIMARY KEY AUTO_INCREMENT, username varchar(256), address varchar(256) ); — 插入数据 INSERT INTO tb_user VALUES(‘1′,’小明’,’北京’); INSERT INTO tb_user VALUES(‘2′,’李华’,’上海’); INSERT INTO tb_user VALUES(‘3′,’李刚’,’上海’); — 创建tb_orders表 CREATE TABLE IF NOT EXISTS tb_orders ( id INT(32) PRIMARY KEY AUTO_INCREMENT, number varchar(32) NOT NULL, user_id int(32) NOT NULL, FOREIGN KEY(user_id) REFERENCES tb_user(id) ); — 插入数据 INSERT INTO tb_orders VALUES(‘1′,’1001′,’1’); INSERT INTO tb_orders VALUES(‘2′,’1002′,’2’); INSERT INTO tb_orders VALUES(‘3′,’1003′,’3’);

1.项目创建
项目创建过程可以参考这篇文章:IDEA 2024版本创建maven项目的方式有哪些 – 每天进步一点点
这里选择使用maven的方式创建
打开IDEA,点击“文件—>新建—>项目”

这里使用生成器生成maven项目(maven配置正确才能正常构建)
jdk版本选的1.8
Archtype选择的是webapp,点击“创建”,等待一段时间后,项目构建完毕。

maven构建完项目后如下

出现上面的SUCCESS,空白的maven项目就创建完毕了。
下面开始引入依赖文件。
我们打开项目的pom.xml
参考下面的代码引入mybatis和mysql等依赖
<project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd”> <modelVersion>4.0.0</modelVersion> <groupId>com.guo</groupId> <artifactId>ch04</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>ch04 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>ch04</finalName> </build> </project>

点击刷新依赖,maven就可以下载依赖了。
2.创建实体类
先要创建相关的文件夹

这里创建java文件夹,也就是Maven源目录。这个文件夹创建后是蓝色的。

java这个文件夹如果不是蓝色的,可以右击这个文件夹,选择“将目录标记为”—>”源代码目录”

然后创建实体类的文件夹,com.itheima.pojo
右击java,选择“新建”,然后点击“软件包”

软件包的名字是 com.itheima.pojo,然后回车创建

然后创建实体类,右击pojo文件夹,选择“新建”—>”Java类”

类名是 Orders,选择是“类”

参考代码如下:
package com.itheima.pojo; public class Orders { private Integer id; //订单id private String number; //订单编号 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } @Override public String toString() { return “Orders{” + “id=” + id + “, number='” + number + ‘\” + ‘}’; } }
生成后项目代码如下:

再按照同样方式生成一个类,类名是Users

类名是User

参考代码如下:
package com.itheima.pojo; import java.util.List; public class Users { private Integer id; //用户id private String username; //用户姓名 private String address; //用户地址 private List<Orders> ordersList; //用户关联订单 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public List<Orders> getOrdersList() { return ordersList; } public void setOrdersList(List<Orders> ordersList) { this.ordersList = ordersList; } @Override public String toString() { return “Users{” + “id=” + id + “, username='” + username + ‘\” + “, address='” + address + ‘\” + “, ordersList=” + ordersList + ‘}’; } }
创建完后,项目如下所示

3.创建映射文件
选择“resources”文件夹,右击,选择“新建”—>”目录”

创建com.itheima.mapper文件夹

如果出现上面的提示,可以把文件的名字改为com/itheima/mapper
按回车后生成相关文件夹

然后,右击mapper文件夹,选择“新建”—>”文件”

文件名称为 “UsersMapper.xml”

要创建的代码参考如下