1. 新建数据库表Biji,让其与Users表对应,一个user拥有对个biji
userid是外键
2. 新建POJO类--Biji.java
public class Biji {
@Override
public String toString() {
// TODO Auto-generated method stub
return super.toString();
}
private int bijiid;
private String bijiname;
private String content;
private User user;
public int getBijiid() {
return bijiid;
}
public void setBijiid(int bijiid) {
this.bijiid = bijiid;
}
public String getBijiname() {
return bijiname;
}
public void setBijiname(String bijiname) {
this.bijiname = bijiname;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Biji(int bijiid, String bijiname, String content, User user) {
super();
this.bijiid = bijiid;
this.bijiname = bijiname;
this.content = content;
this.user = user;
}
public Biji() {
super();
}
}
config.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 自动扫描-->
<typeAliases>
<typeAlias alias="User" type="com.imut.po.User" />
<typeAlias alias="Biji" type="com.imut.po.Biji"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!--配置数据库连接信息 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="123,456a" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/imut/mapping/userMapper.xml"/>
<mapper resource="com/imut/mapping/bijiMapper.xml"/>
</mappers>
</configuration>3. bijiMapper.xml
<?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.imut.inf.IUser">
<resultMap id="resultUserBijiList" type="Biji">
<id property="bijiid" column="bijiid" />
<result property="bijiname" column="bijiname" />
<result property="content" column="content" />
<association property="user" javaType="User">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
</association>
</resultMap>
<select id="getUserBijis" parameterType="int" resultMap="resultUserBijiList">
select u.id , u.name , u.age , b.bijiid , b.bijiname , b.content from users u ,biji b where u.id = b.userid and u.id = #{id}
</select>
</mapper>4. IUser接口中添加方法
public List<Biji> getUserBijis(int userid); 5. 测试类
SqlSession sqlSession = sqlSessionFactory.openSession();
IUser iuser = sqlSession.getMapper(IUser.class);
List<Biji> bijis = iuser.getUserBijis(2);
for(int i = 0;i<bijis.size();i++){
System.out.println(bijis.get(i).getBijiname());
}
sqlSession.close();
本文介绍了一个使用MyBatis实现一对多关联映射的例子。通过创建Biji表与Users表之间的关联,并利用MyBatis的XML映射文件进行结果集映射,实现了从用户表中获取笔记信息的功能。

被折叠的 条评论
为什么被折叠?



