示例【根据姓名查询身份证信息】
创建t_person表
创建t_card表
创建Person
package com.po;
public class Person {
private Integer pId;
private String pName;
private String sex;
private Card card;
public Integer getpId() {
return pId;
}
public void setpId(Integer pId) {
this.pId = pId;
}
public String getpName() {
return pName;
}
public void setpName(String pName) {
this.pName = pName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Card getCard() {
return card;
}
public void setCard(Card card) {
this.card = card;
}
@Override
public String toString() {
return "Person [pId=" + pId + ", pName=" + pName + ", sex=" + sex + ", card=" + card + "]";
}
}
创建Card
package com.po;
public class Card {
private Integer cId;
private String code;
public Integer getcId() {
return cId;
}
public void setcId(Integer cId) {
this.cId = cId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
@Override
public String toString() {
return "Card [cId=" + cId + ", code=" + code + "]";
}
}
创建PersonMapper.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.mapper.PersonMapper">
<resultMap type="com.po.Person" id="PersonWithCard">
<id property="pId" column="pId"/>
<result property="pName" column="pName"/>
<result property="sex" column="sex"/>
<!-- 使用select属性引入另外一条sql语句 -->
<association property="card" javaType="com.po.Card">
<id property="cId" column="cId"/>
<result property="code" column="code"/>
</association>
</resultMap>
<select id="findPersonByCid" parameterType="Integer" resultMap="PersonWithCard">
select * from t_person p,t_card c where p.cId=c.cId and p.pId=#{pId}
</select>
</mapper>
配置mybatis-config.xml
<mappers>
<mapper resource="com/mapper/PersonMapper.xml"/>
</mappers>
创建PersonDao
package com.dao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import com.factory.SessionFactory;
import com.po.Person;
public class PersonDao {
private SqlSession session=SessionFactory.getSqlSession();
@Test
public void findPersonById() {
Person person=session.selectOne("com.mapper.PersonMapper.findPersonByCid", 1);
System.out.println(person);
}
}
执行findPersonById()方法