-- ----------------------------
///
package org.com.model; import java.io.Serializable; public class Post implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private int id; private User user; private String title; private String content; public int getId() { return id; } public void setId(int id) { this.id = id; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
//
package org.com.model; import java.io.Serializable; import java.util.List; public class User implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private int id; private String username; private String mobile; private List<Post> posts; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public List<Post> getPosts() { return posts; } public void setPosts(List<Post> posts) { this.posts = posts; } @Override public String toString() { return "User [id=" + id + ", name=" + username + "]"; } }
<?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"> <!-- 一堆多映射 一个人可以发表多个数据- 通过collection --> <mapper namespace="org.com.dao.userMapper"> <!-- property 就是类的属性 ,后面接的是在数据库的的名字 --> <resultMap type="User" id="resultUserMap"> <result property="id" column="user_id" /> <!-- 主键 --> <result property="username" column="username" /> <result property="mobile" column="mobile" /> <!-- user_id 作为 Post 表的userid --> <collection property="posts" ofType="org.com.model.Post" column="userid"> <id property="id" column="post_id" javaType="int" jdbcType="INTEGER"/> <!-- 主键 --> <result property="title" column="title" javaType="string" jdbcType="VARCHAR"/> <result property="content" column="content" javaType="string" jdbcType="VARCHAR"/> </collection> </resultMap> <select id="getUser" resultMap="resultUserMap"> select u.*,p.* from user u,post p where u.id=p.userid and id=#{user_id} </select> </mapper>
源文件
http://www.yiibai.com/mybatis/mybatis-one2many.html