本文给大家介绍Mybatis结果集映射一对多简单入门教程,包括搭建数据库环境的过程,idea搭建maven项目的代码详解,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
Mybatis 一对多 简单入门 易懂
搭建数据库环境
student 表
DROP TABLE IF EXISTS `student_2`; CREATE TABLE `student_2` ( `id` int(10) NOT NULL, `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `tid` int(10) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `fktid`(`tid`) USING BTREE, CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; INSERT INTO `student_2` VALUES (1, '小明', 1); INSERT INTO `student_2` VALUES (2, '邱ss', 2); INSERT INTO `student_2` VALUES (3, '邱大哥', 3); INSERT INTO `student_2` VALUES (4, '杨大哥', 1); INSERT INTO `student_2` VALUES (5, '杨ss', 2);
teacher
DROP TABLE IF EXISTS `teacher`; CREATE TABLE `teacher` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of teacher -- ---------------------------- INSERT INTO `teacher` VALUES (1, '小王老师'); INSERT INTO `teacher` VALUES (2, '小李老师'); INSERT INTO `teacher` VALUES (3, '小黑老师');
idea 搭建maven 项目 (mybatis-demo)
项目结构
导入依赖
mysql mysql-connector-java 5.1.48 org.projectlombok lombok 1.18.20 org.mybatis mybatis 3.5.6 junit junit 4.11 test
mysql 配置文件
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm-study?useSSL=false jdbc.username=root jdbc.password=123456
创建pojo 类
学生
/** * @Author: crush * @Date: 2021-06-17 18:23 * version 1.0 */ public class Student { /** * 学生id */ private Integer id; /** * xueshneg xingming */ private String name; /** * 老师id */ private Integer tid; }
老师
/** * @Author: crush * @Date: 2021-06-17 18:23 * version 1.0 */ public class Teacher { /** * 老师id */ private Integer id; /** * 老师的姓名 */ private String name; /** * 每个老师是不是有很多学生 */ private Liststudents; }
写一个mybatis 的工具类
/** * @author crush */ public class MybatisUtil { private static SqlSessionFactory sqlSessionFactory; static { try { String resource="mybatis-config.xml"; InputStream inputStream= Resources.getResourceAsStream(resource); sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSession(){ return sqlSessionFactory.openSession(true); } }
写一个TeacherMapper
import com.crush.pojo.Teacher; import org.apache.ibatis.annotations.Param; import java.util.List; public interface TeacherMapper { // 获取老师 ListgetTeacher(); //获取指定老师下的所有学生及老师的信息 Teacher getTeacher2(@Param("tid") Integer id); //获取指定老师下的所有学生及老师的信息 Teacher getTeacher3(@Param("tid") Integer id); }
写一个TeacherMapper.xml文件
mybatis-config.xml 文件
测试:
/** * @Author: crush * @Date: 2021-06-17 18:22 * version 1.0 */ public class MyTest { @Test public void getTeacher(){ SqlSession session = MybatisUtil.getSession(); TeacherMapper mapper = session.getMapper(TeacherMapper.class); Listteacher = mapper.getTeacher(); System.out.println(teacher); session.close(); } @Test public void getTeacher2(){ SqlSession session = MybatisUtil.getSession(); TeacherMapper mapper = session.getMapper(TeacherMapper.class); Teacher teacher2 = mapper.getTeacher2(1); System.out.println(teacher2); session.close(); } @Test public void getTeacher3(){ SqlSession session = MybatisUtil.getSession(); TeacherMapper mapper = session.getMapper(TeacherMapper.class); Teacher teacher2 = mapper.getTeacher3(1); System.out.println(teacher2); session.close(); } }
以上就是Mybatis结果集映射一对多简单入门教程的详细内容,更多请关注0133技术站其它相关文章!