以下内容已经通过楼主测试, 从pd设计数据库到测试完成, 之前楼主也没有过Mybatis 使用resultMap觉得有点乱,最近抽出时间总结了一下也算对MyBatis的resultMap进行一次系统的学习, 希望与大家分享学习心得, 有说的不对的地方请大家帮指教
下面是PD设计的几张数据库模型
先说下表吧 多对多 采用 传统而经典的 用户角色表,并没有采用当今流行的联合主键方式 而是将 用户表_id 和 角色表_id 进行Unique
详情参见
, 单项一对多采用 班级学生表 (一个班级有多个学生, 一个学生只能在一个班级, 大学除外否则就是多对多了, 哈哈)
Mybatis的resultMap操作多表的方式 大致如下几种方式
方式一: 在resultMap中指定其他表的列名用column指向其他表的column同时在当前表对应的实体类中添加一个标识字段
java
package entity;public class User { private String id; private String userName; private String password; //这个就是在标示字段, 数据库中并不存在, 而是通过 USER_ID 指向 USER_ROLE的USER_ID列 private String flag; public String getFlag() { return flag; } public void setFlag(String flag) { this.flag = flag; } public String getId() { return id; } public void setId(String id) { this.id = id == null ? null : id.trim(); } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName == null ? null : userName.trim(); } public String getPassword() { return password; } public void setPassword(String password) { this.password = password == null ? null : password.trim(); }}
方式二: