1、思路
读取单库单表的思路是:
建立pojo、mapper+xml、controller这一流程
所以读取单库多表的思路是:直接延续单表读取的思路,再建立一套pojo、mapper+xml、controller即可。
2、具体实现:
只复现多表实现的结果,把多表删除到一张表就单库单表的读取方法:
2.1、项目结构
2.2、具体实现代码:
2.2.1、底层实体集
user的pojo
@Data
public class user {
private Long id;
private String name;
private Integer age;
private String email;
}
teacher的pojo
@Data
public class teacher{
private String name;
private String course;
}
2.2.2、mapper及xml
user的mapper及其xml
public interface userMapper {
List<user> findAll();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zc.testconncetion.mapper.userMapper">
<resultMap id="testCon" type="com.zc.testconncetion.pojo.user">
<id property="id" column="id"></id>
<result property="name" column="name"></result>
<result property="age" column="age"></result>
<result property="email" column="email"></result>
</resultMap>
<select id="findAll" resultMap="testCon">
SELECT * FROM USER;
</select>
</mapper>
teacher的mapper及其xml
public interface teacherMapper{
List<teacher> findTeacher();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zc.testconncetion.mapper.teacherMapper">
<resultMap id="testTea" type="com.zc.testconncetion.pojo.teacher">
<result property="name" column="name"></result>
<result property="course" column="course"></result>
</resultMap>
<select id="findTeacher" resultMap="testTea">
SELECT * FROM teacher;
</select>
</mapper>
2.2.3、controller层
@RestController
public class testA {
//对象注入
@Autowired
private userMapper userMapper;
@Autowired
private teacherMapper teacherMapper;
//两个实体集糅合到一起输出
//思路:创造一个集合来接收其他的两个集合吐出来的值,因为集合与集合之间不能直接合并
@RequestMapping("/test3")
public void testThree(){
ArrayList<Object> list3 = new ArrayList<>();
//接收其他两个集合吐出来的值
List<user> list = userMapper.findAll();
Iterator<user> iterator = list.iterator();
while (iterator.hasNext()){
list3.add(iterator.next());
}
List<teacher> list1 = teacherMapper.findTeacher();
Iterator<teacher> iterator1 = list1.iterator();
while (iterator1.hasNext()){
list3.add(iterator1.next());
}
Iterator<Object> iterator2 = list3.iterator();
while (iterator2.hasNext()){
System.out.println(iterator2.next());
}
}
}