版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲人:吴佳云延迟符关联映射1:1动态SQL与关联映射什么是数据关联关联是一个数据库实体的概念。比如角色需要用户与之对应,这样就有角色用户表,一个角色可能有多个用户,这就是一对多的关联。数据库表与表之间的关联关系,一般包括三种:一对一、一对多、多对多。在Mybatis中,数据库表与表之间的关系型数据会映射成面向对象型的数据关系。关联映射1:1关联映射1:1指两个对象之间是一对一的关系,比如一个人只有一个身份证,一个身份证只能给一个人使用。关联映射1:1(1)数据库准备INSERTINTO`tb_card`VALUES(1001,'320683199999999999');
INSERTINTO`tb_person`VALUES(1,1001,'张三','男',18);CREATETABLE`tb_card`(
`id`intNOTNULL,
`code`varchar(45)DEFAULTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDB;CREATETABLE`tb_person`(
`id`intNOTNULL,
`cardId`intDEFAULTNULL,
`name`varchar(45)DEFAULTNULL,
`sex`varchar(45)DEFAULTNULL,
`age`intDEFAULTNULL,
PRIMARYKEY(`id`),
KEY`fk_cardId_idx`(`cardId`),
CONSTRAINT`fk_cardId`FOREIGNKEY(`cardId`)REFERENCES`tb_card`(`id`)
);
关联映射1:1(2)实体类@Data
publicclassPerson{
/**ID*/
privateIntegerid;
/**身份证ID*/
privateIntegercardId;
/**名字*/
privateStringname;
/**性别*/
privateStringsex;
/**年龄*/
privateIntegerage;
}@Data
publicclassCard{
/**id*/
privateIntegerid;
/**身份证号码*/
privateStringcode;
}@Data
publicclassPersonVo{
/**ID*/
privateIntegerid;
/**工牌ID*/
privateIntegercardId;
/**名字*/
privateStringname;
/**性别*/
privateStringsex;
/**年龄*/
privateIntegerage;
/**身份证信息*/
privateCardcard;
}Person.javaCard.javaPersonVo.java关联映射1:1(3)创建XML映射文件<mappernamespace="com.my.ccit.mapper.CardMapper">
<selectid="getById"parameterType="int"resultType="com.my.ccit.entity.Card">
select*fromtb_card
whereid=#{id}
</select>
</mapper><mappernamespace="com.my.ccit.mapper.PersonMapper">
<resultMapid="personVoMap"type="com.my.ccit.vo.PersonVo">
<idproperty="id"column="id"/>
<resultproperty="cardId"column="cardId"/>
<resultproperty="name"column="name"/>
<resultproperty="sex"column="sex"/>
<resultproperty="age"column="age"/>
<!--多对一映射:association-->
<associationproperty="card"column="cardId"
select="com.my.ccit.mapper.CardMapper.getById"
javaType="com.my.ccit.entity.Card"/>
</resultMap>
<selectid="getById"resultMap="personVoMap">
select*fromtb_person
whereid=#{id}
</select>
</mapper>CardMapper.xmlPersonMapper.xml关联映射1:1(4)创建Mapper接口@Mapper
publicinterfaceCardMapper{
CardgetById(Integerid);
}@Mapper
publicinterfacePersonMapper{
PersonVogetById(Integerid);
}CardMapper.javaPersonMapper.java关联映射1:1(5)编写测试类@Test
publicvoidtest(){
//1.通过工具类生成SqlSession对象
SqlSessionsession=MyBatisUtils.getSession();
PersonMapperpersonMapper=session.getMapper(PersonMapper.class);
//3.查询name
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行办公终端外设安全准入管理制度
- 储能电站应急照明施工方案
- 物联网技术与应用开发指南
- 物业资产管理与增值服务手册
- 工业厂房防火墙门窗安装标准
- 2026年金融风险管理与控制模拟试卷
- 2025-2026年考研农学农业生态学模拟试卷
- 2025-2026年考研计算机科学与技术人工智能模拟试题
- 2025-2026年健康服务知识测试卷
- 成都一诊-2026届高三-2025年12月-地理-答案
- 新疆准能重工有限公司准东装备制造项目一期水土保持方案报告表
- 2026年高考数学新高考I卷数学真题
- 《金属非金属矿山通风技术要求》
- 2023-2025年中考语文试卷(现代文阅读题)汇集练1附答案解析
- 妊娠期尿路感染治疗指南2026
- 2026秋人教版九年级英语上册单词默写
- 公路工程技术标准(2025版)
- 施工现场八大责任制度
- 基层房颤中心培训
- CRC培训管理制度
- 化工新工艺新材料课件
评论
0/150
提交评论