MyBatis联合查询(一对一)二

package dao;

import domain.Person;
import org.apache.ibatis.session.SqlSession;
import util.MySqlSession;

import java.util.List;

public class PersonDao {
    //主函数
    public static void main(String[] args) {

        PersonDao personDao = new PersonDao();
//        Person person = personDao.selectOne(1);
        List<Person> personList = personDao.selectList();
        for (Person person : personList) {
            System.out.println(person);
        }
//        System.out.println(person.getPid());
//        System.out.println(person.getPname());
//        System.out.println(person.getIdCard().getAddress());
    }
    //SqlSession对象
    SqlSession sqlSession = MySqlSession.getSqlSession(true);

    public Person selectOne(int pid) {
        return sqlSession.selectOne("selectOne", pid);
    }

    public List<Person> selectList() {
        return sqlSession.selectList("selectList");
    }
}

<?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="dao.PersonDao">

    <resultMap id="selectByPid" type="domain.Person">
        <id property="pid" column="pid"></id>
        <result property="pname" column="pname"></result>
        <association property="idCard" javaType="domain.IdCard">
            <id property="cardId" column="cardId"></id>
            <result property="address" column="address"></result>
        </association>
    </resultMap>
    <select id="selectOne" resultMap="selectByPid">
        select * from person p inner join idcard i on p.cardid = i.cardid where p.pid = #{pid}
    </select>
    <select id="selectList" resultMap="selectByPid">
        select * from person p inner join idcard i on p.cardid = i.cardid
    </select>


<!--    <resultMap id="selectFunction" type="domain.Person">-->
<!--        <id property="pid" column="pid"></id>-->
<!--        <result property="pname" column="pname"></result>-->
<!--        <association property="idCard" javaType="domain.IdCard" select="selectCardId" column="cardId"></association>-->
<!--    </resultMap>-->
<!--    <select id="selectCardId" resultType="domain.IdCard">-->
<!--        select * from idcard where cardId = #{cardId}-->
<!--    </select>-->
<!--    <select id="selectOne" resultMap="selectFunction">-->
<!--        select pid,pname,cardId from person where pid = #{pid}-->
<!--    </select>-->

<!--    <select id="selectList" resultMap="selectFunction">-->
<!--        select pid,pname,cardId from person-->
<!--    </select>-->
</mapper>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值