MyBatis 一对一
来源:互联网 发布:古兰经软件哪个好 编辑:程序博客网 时间:2024/05/16 00:28
一个人对应一个身份证。一对一关系可以使用唯一主外键关联,即2张表使用外键关联。 由于一对一关联,所以还要个外键添加unique
约束。
Person
类:
public class Person implements Serializable { private Integer id; private String name; private String sex; private Integer age; private Card card; //...}
Card
类:
public class Card implements Serializable { private Integer id; private String code; //...}
CardMapper
映射器:
<?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="Item10x1.CardMapper"> <select id="selectCardById" parameterType="int" resultType="Item10x1.Card"> select * from tb_card where id = #{id} </select></mapper>
PersonMapper
映射器:
<?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="Item10x1.PersonMapper"> <resultMap id="personMapper" type="Item10x1.Person"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="sex" column="sex"/> <result property="age" column="age"/> <association property="card" column="card_id" javaType="Item10x1.Card" select="Item10x1.CardMapper.selectCardById"/> </resultMap> <select id="selectPersonById" parameterType="int" resultMap="personMapper"> select * from tb_person where id = #{id} </select></mapper>
<association property="card" column="card_id" javaType="Item10x1.Card"
: 指定一对一关联关系,
select="Item10x1.CardMapper.selectCardById"/>property
为Person
类的card
属性,column
为表的属性,javaType
指定类型,select
表示执行CardMapper
中的selectCardById
,将获得数据封装到Card
作为Person
属性card
的值。resultMap="personMapper"
:指定映射结果集。
不要忘了在MyBatis
配置中添加映射器。
PersonMapper
接口:
public interface PersonMapper { public Person selectPersonById(int id);}
PersonMapper.xml
的namespace
要和该接口的所在位置相同。- 该接口的方法必须在
PersonMapper.xml
有对应的id
。
测试代码:
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class); Person person = personMapper.selectPersonById(1); System.out.println(person); System.out.println(person.getCard()); sqlSession.close();
0 0
- mybatis--一对一
- MyBatis一对一
- MyBatis 一对一
- mybatis一对一
- mybatis一对一
- MyBatis一对一demo!!!
- mybatis---一对一双向关联
- mybatis-(一对一关联)
- MyBatis一对一的配置
- mybatis 一对一查询
- MyBatis配置一对一
- 05. mybatis 映射:一对一
- Mybatis(七)- 一对一映射
- Mybatis 一对一 查询
- Mybatis 一对一关系映射
- MyBatis关联查询(一对一)
- mybatis一对一关联查询
- MyBatis-高级映射:一对一
- C# Graphics旋转和TranslateTransform及RotateTransform用法
- 对根目录的理解
- Java学习日记番外篇:IO流
- zookeeper安装
- 读《无人驾驶智能车在动态环境中的避障方法》崔佳超硕士论文
- MyBatis 一对一
- RESTLET开发实例(二)使用Component、Application的REST服务
- USB Gadget设备驱动开发(三) usb webcam 驱动加载脚本实现
- 编程规范
- Hibernate 核心配置文件学习
- 单链表逆置
- NRV
- Activity的4种启动模式
- Mysql数据类型和Java类型对照