博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础-SSM之mybatis一对一关联
阅读量:5781 次
发布时间:2019-06-18

本文共 4915 字,大约阅读时间需要 16 分钟。

              Java基础-SSM之mybatis一对一关联

                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.准备测试环境(创建数据库表)

 1>.创建husbands和wifes表并建立关联关系(外键约束) 

use yinzhengjie;create table husbands(id int primary key auto_increment , hname varchar(20)) ;        create table wifes(id int primary key , hname varchar(20)) ;alter table wifes add constraint fk_id foreign key (id) references husbands(id) ;

2>.添加Maven依赖

1 
2
5
4.0.0
6
cn.org.yinzhengjie
7
Mybatis
8
1.0-SNAPSHOT
9
10
11
junit
12
junit
13
4.11
14
15
16
mysql
17
mysql-connector-java
18
5.1.17
19
20
21
org.mybatis
22
mybatis
23
3.2.1
24
25
26

3>.目录结构如下:

 

 

二.编写自定义类

1>.Husband.java 文件内容

1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 package cn.org.yinzhengjie.mybatis.domain.one2one; 7  8 public class Husband { 9     private Integer id ;10     private String hname ;11     private Wife wife ;12 13     public Integer getId() {14         return id;15     }16 17     public void setId(Integer id) {18         this.id = id;19     }20 21     public String getHname() {22         return hname;23     }24 25     public void setHname(String hname) {26         this.hname = hname;27     }28 29     public Wife getWife() {30         return wife;31     }32 33     public void setWife(Wife wife) {34         this.wife = wife;35     }36 }

2>.Wife.java 文件内容

1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 package cn.org.yinzhengjie.mybatis.domain.one2one; 7  8 public class Wife { 9     private String wname ;10     private Husband husband ;11 12     public String getWname() {13         return wname;14     }15 16     public void setWname(String wname) {17         this.wname = wname;18     }19 20     public Husband getHusband() {21         return husband;22     }23 24     public void setHusband(Husband husband) {25         this.husband = husband;26     }27 }

 

三.编写配置文件

1 
2 3 6
7
8
9
10
11
12
13
14 15
16
17
18
19
20 21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
mybatis-config.xml 文件内容
1 
2 4
5
6
7 insert into husbands(hname) values(#{hname}) ; 8
9 10
HusbandMapper.xml 文件内容
1 
2 4
5
6
7 insert into wifes(id , hname) values(#{husband.id} , #{wname}) ;8
9
WifeMapper.xml 文件内容

 

四.编写测试代码

1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 package cn.org.yinzhengjie.mybatis.test; 7  8 import cn.org.yinzhengjie.mybatis.domain.one2one.Husband; 9 import cn.org.yinzhengjie.mybatis.domain.one2one.Wife;10 import org.apache.ibatis.io.Resources;11 import org.apache.ibatis.session.SqlSession;12 import org.apache.ibatis.session.SqlSessionFactory;13 import org.apache.ibatis.session.SqlSessionFactoryBuilder;14 import org.junit.Test;15 16 import java.io.InputStream;17 18 /**19  * 测试一对一20  */21 public class TestOne2One {22     @Test23     public void testInsert() throws Exception {24         InputStream in = Resources.getResourceAsStream("mybatis-config.xml");25         SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(in);26         SqlSession sess = sf.openSession();27 28         Husband h1 = new Husband();29         h1.setHname("zhangjie");30         Wife w1 = new Wife();31         w1.setWname("xiena");32         h1.setWife(w1);33         w1.setHusband(h1);34         sess.insert("husbands.insert" , h1) ;35         sess.insert("wifes.insert" , w1) ;36         sess.commit();37         sess.close();38         System.out.println("插入成功");39     }40 41 }

   运行以上代码查看数据库内容如下:

 

转载于:https://www.cnblogs.com/yinzhengjie/p/9287322.html

你可能感兴趣的文章
12月19日一周一次【Python基础语法】
查看>>
DM***的第二阶段OSPF
查看>>
python socket编程
查看>>
20180702搭建青岛RAC记录
查看>>
安装部署TIDB分布式数据库
查看>>
Spring Security OAuth 实现OAuth 2.0 授权
查看>>
linux文件及简单命令学习
查看>>
dubbo源码分析-架构
查看>>
新 Terraform 提供商: Oracle OCI, Brightbox, RightScale
查看>>
6套毕业设计PPT模板拯救你的毕业答辩
查看>>
IT兄弟连 JavaWeb教程 JSP与Servlet的联系
查看>>
Windows phone 8 学习笔记
查看>>
linux并发连接数:Linux下高并发socket最大连接数所受的各种限制
查看>>
洛谷——P2176 [USACO14FEB]路障Roadblock
查看>>
详解区块链中EOS的作用。
查看>>
我的友情链接
查看>>
mysql-error 1236
查看>>
sshd_config设置参数笔记
查看>>
循序渐进Docker(一)docker简介、安装及docker image管理
查看>>
jsp页面修改后浏览器中不生效
查看>>