网站推荐、资源下载等 | 个人网站

mybatis的一对一

1、配置文件

db.properties

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8
db.username=root
db.password=123456

SqlMapConfig.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6 
 7     <!-- 加载java的配置文件 -->
 8     <properties resource="config/db.properties"/>
 9     
10     <!-- 配置mybatis的环境信息,与spring整合,该信息由spring来管理 -->
11     <environments default="development">
12         <environment id="development">
13             <!-- 配置JDBC事务控制,由mybatis进行管理 -->
14             <transactionManager type="JDBC"></transactionManager>
15             <!-- 配置数据源,采用mybatis连接池 -->
16             <dataSource type="POOLED">
17                 <property name="driver" value="${db.driver}" />
18                 <property name="url" value="${db.url}" />
19                 <property name="username" value="${db.username}" />
20                 <property name="password" value="${db.password}" />
21             </dataSource>
22         </environment>
23     </environments>
24 
25     <!-- 加载映射文件 -->
26     <mappers>
27         <mapper resource="com/xiaostudy/oneTOone/mapper.xml" />
28     </mappers>
29     
30 </configuration>

mapper.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="com.xiaostudy.oneTOone.Mapper">
 6 
 7     <!-- ========================================================================================== -->
 8     <!-- 一对一映射之resultType,这种方法,数据库的字段要跟domain类的属性一致 -->
 9     <select id="findStudent" resultType="com.xiaostudy.oneTOone.Student" parameterType="int">
10         select * from t_student where sid=#{sid}
11     </select>
12     <!-- ========================================================================================== -->
13     
14    <!-- ========================================================================================== -->
15    <!-- 一对一之resultMap,这种方法,数据库字段和domain类的属性可以不一致 -->
16     <select id="findOrdersAndStudentRstMap" resultMap="OrdersAndStudentRstMap" >
17         select * from t_student s where s.sid=#{sid}
18     </select>
19     
20     <!-- OrdersAndUserRstMap -->
21     <resultMap type="com.xiaostudy.oneTOone.Student" id="OrdersAndStudentRstMap">
22         <id column="sid" property="sid" />
23         <result column="sname" property="sname" />
24     </resultMap>
25     <!-- ========================================================================================== -->
26     
27     <!-- ========================================================================================== -->
28     <!-- 一对一之resultMap2 -->
29     <select id="findOrdersAndSTRstMap" resultMap="OrdersAndSTRstMap">
30         select * from t_student where sid=#{sid}
31     </select>
32 
33     <resultMap type="com.xiaostudy.oneTOone.Student" id="OrdersAndSTRstMap">
34         <id column="sid" property="sid"/>
35         <result column="sname" property="sname"/>
36         <association property="teacher" javaType="com.xiaostudy.oneTOone.Teacher">
37             <id column="tid" property="tid"></id>
38             <result column="tname" property="tname"/>
39         </association>
40     </resultMap>
41    <!-- ========================================================================================== -->
42     
43     <!-- ========================================================================================== -->
44     <!-- 一对一之resultMap3 -->
45     <select id="findOrdersAndTeacher" resultMap="OrdersAndTeacher">
46         select * from t_student s, t_teacher t where t.tid=s.sid and tid=#{tid}
47     </select>
48 
49     <resultMap type="com.xiaostudy.oneTOone.Teacher" id="OrdersAndTeacher">
50         <id column="tid" property="tid"/>
51         <result column="tname" property="tname"/>
52         <association property="student" javaType="com.xiaostudy.oneTOone.Student">
53             <id column="sid" property="sid"></id>
54             <result column="sname" property="sname"/>
55         </association>
56     </resultMap>
57    <!-- ========================================================================================== -->
58     
59 </mapper>

2、domain类之Student.java

 1 package com.xiaostudy.oneTOone;
 2 
 3 public class Student {
 4     private int sid;
 5     private String sname;
 6     private Teacher teacher;
 7 
 8     public int getSid() {
 9         return sid;
10     }
11 
12     public void setSid(int sid) {
13         this.sid = sid;
14     }
15 
16     public String getSname() {
17         return sname;
18     }
19 
20     public void setSname(String sname) {
21         this.sname = sname;
22     }
23 
24     public Teacher getTeacher() {
25         return teacher;
26     }
27 
28     public void setTeacher(Teacher teacher) {
29         this.teacher = teacher;
30     }
31 
32     @Override
33     public String toString() {
34         return "Student [sid=" + sid + ", sname=" + sname + ", teacher=" + teacher + "]";
35     }
36 
37 }

Teacher.java

 1 package com.xiaostudy.oneTOone;
 2 
 3 public class Teacher {
 4     private int tid;
 5     private String tname;
 6     private Student student;
 7 
 8     public int getTid() {
 9         return tid;
10     }
11 
12     public void setTid(int tid) {
13         this.tid = tid;
14     }
15 
16     public String getTname() {
17         return tname;
18     }
19 
20     public void setTname(String tname) {
21         this.tname = tname;
22     }
23 
24     public Student getStudent() {
25         return student;
26     }
27 
28     public void setStudent(Student student) {
29         this.student = student;
30     }
31 
32     @Override
33     public String toString() {
34         return "Teacher [tid=" + tid + ", tname=" + tname + ", student=" + student + "]";
35     }
36 
37 }

3、代理类Mapper.java

 1 package com.xiaostudy.oneTOone;
 2 
 3 import java.util.List;
 4 
 5 public interface Mapper {
 6     // 一对一之resultType
 7     public Student findStudent(int id);
 8 
 9     // 一对一之resultMap
10     public List<Student> findOrdersAndStudentRstMap(Student student);
11 
12     // 一对一之resultMap2
13     public List<Student> findOrdersAndSTRstMap(Student student);
14     
15     // 一对一之resultMap3
16     public List<Teacher> findOrdersAndTeacher(int tid);
17 
18 }

4、测试类

 1 package com.xiaostudy.oneTOone;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.util.List;
 6 
 7 import org.apache.ibatis.io.Resources;
 8 import org.apache.ibatis.session.SqlSession;
 9 import org.apache.ibatis.session.SqlSessionFactory;
10 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
11 
12 /**
13  * @desc 测试类
14  * @author xiaostudy
15  *
16  */
17 public class MybatisTest {
18 
19     public static void main(String[] args) throws IOException {
20         String resource = "config/SqlMapConfig.xml";
21         InputStream inputStream = Resources.getResourceAsStream(resource);
22 
23         // 创建SqlSessionFactory
24         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
25 
26         // 创建SqlSession
27         SqlSession sqlSession = sqlSessionFactory.openSession();
28 
29         // 获取一个代理dao实现
30         Mapper mapper = sqlSession.getMapper(Mapper.class);
31         
32         Student student = new Student();
33         student.setSid(4);
34         Teacher teacher = new Teacher();
35         teacher.setTid(3);
36 
37         //一对一之resultType
38 //        student = mapper.findStudent(2);
39         //一对一之resultMap
40 //        List<Student> list = mapper.findOrdersAndStudentRstMap(student);
41         //一对一之resultMap2
42 //        List<Student> list = mapper.findOrdersAndSTRstMap(student);
43         //一对一之resultMap3
44         List<Teacher> list = mapper.findOrdersAndTeacher(3);
45 
46         System.out.println(list);
47 //        System.out.println(student);
48 
49         sqlSession.close();
50 
51     }
52     
53 }

5、数据库

t_student表

t_teacher表


 

posted @ 2018-09-04 22:27  xiaostudy  阅读(232)  评论(0编辑  收藏  举报
网站推荐
[理工最爱]小时百科 |  GitHub |  Gitee |  开源中国社区 |  牛客网 |  不学网论坛 |  r2coding |  冷熊简历 |  爱盘 |  零散坑 |  bootstrap中文网 |  vue.js官网教程 |  源码分享站 |  maven仓库 |  楼教主网站 |  廖雪峰网站 |  w3cschool |  在线API |  代码在线运行 |  [不学网]代码在线运行 |  JS在线运行 |  PHP中文网 |  深度开源eclipse插件 |  文字在线加密解密 |  菜鸟教程 |  慕课网 |  千图网 |  手册网 |  素材兔 |  盘多多 |  悦书PDF |  sumatra PDF |  calibre PDF |  Snipaste截图 |  shareX截图 |  vlc-media-player播放器 |  MCMusic player |  IDM下载器 |  格式工厂 |  插件网 |  谷歌浏览器插件 |  Crx搜搜 |  懒人在线计算器 |  leetcode算法题库 |  layer官网 |  layui官网 |  formSelects官网 |  Fly社区 |  程序员客栈 |  融云 |  华为云 |  阿里云 |  ztree官网API |  teamviewer官网 |  sonarlint官网 |  editormd |  pcmark10官网 |  crx4chrome官网 |  apipost官网 |  花生壳官网 |  serv-u官网 |  杀毒eset官网 |  分流抢票bypass官网 |  懒猴子CG代码生成器官网 |  IT猿网 |  natapp[内网穿透] |  ngrok[内网穿透] |  深蓝穿透[内网穿透] |  WakeMeOnLan[查看ip] |  iis7 |  [漏洞扫描]Dependency_Check官网 |  [图标UI]fontawesome官网 |  idea插件官网 |  路过图床官网 |  sha256在线解密 |  在线正则表达式测试 |  在线文件扫毒 |  KuangStudy | 
资源下载
电脑相关: Windows原装下载msdn我告诉你 |  U盘制作微PE工具官网下载 |  Linux_CentOS官网下载 |  Linux_Ubuntu官网下载 |  Linux_OpenSUSE官网下载 |  IE浏览器官网下载 |  firefox浏览器官网下载 |  百分浏览器官网下载 |  谷歌google浏览器历史版本下载 |  深度deepin系统官网下载 |  中兴新支点操作系统官网下载 |  文件对比工具Beyond Compare官网下载 |  开机启动程序startup-delayer官网下载 |  openoffice官网下载 |  utorrent官网下载 |  qbittorrent官网下载 |  cpu-z官网下载 |  蜘蛛校色仪displaycal官网下载 |  单文件制作greenone下载 |  win清理工具Advanced SystemCare官网下载 |  解压bandizip官网下载 |  内存检测工具memtest官网下载 |  磁盘坏道检测与修复DiskGenius官网下载 |  磁盘占用可视化SpaceSniffer官网下载 |  [磁盘可视化]WizTree官网下载 |  win快速定位文件Everything官网下载 |  文件定位listary官网下载 |  动图gifcam官网下载 |  7-Zip官网下载 |  磁盘分区工具diskgenius官网下载 |  CEB文件查看工具Apabi Reader官网下载 |  罗技鼠标options官网下载 |  [去除重复文件]doublekiller官网下载 | 
编程相关: ApacheServer官网下载 |  Apache官网下载 |  Git官网下载 |  Git高速下载 |  Jboss官网下载 |  Mysql官网下载 |  Mysql官网历史版本下载 |  NetBeans IDE官网下载 |  Spring官网下载 |  Nginx官网下载 |  Resin官网下载 |  Tomcat官网下载 |  jQuery历史版本下载 |  nosql官网下载 |  mongodb官网下载 |  mongodb_linux历史版本下载 |  mongodb客户端下载 |  VScode官网下载 |  cxf官网下载 |  maven官网下载 |  QT官网下载 |  SVN官网下载 |  SVN历史版本下载 |  nodeJS官网下载 |  oracle官网下载 |  jdk官网下载 |  STS官网下载 |  STS历史版本官网下载 |  vue官网下载 |  virtualbox官网下载 |  docker desktop官网下载 |  github desktop官网下载 |  EditPlus官网下载 |  zTree下载 |  layui官网下载 |  jqgrid官网下载 |  jqueryui官网下载 |  solr历史版本下载 |  solr分词器ik-analyzer-solr历史版本下载 |  zookeeper历史版本官网下载 |  nssm官网下载 |  elasticsearch官网下载 |  elasticsearch历史版本官网下载 |  redis官网下载 |  redis历史版本官网下载 |  redis的win版本下载 |  putty官网下载 |  查看svn密码TSvnPD官网下载 |  MongoDB连接工具Robo官网下载 |  dll查看exescope官网下载 |  dll2c官网下载 |  接口测试apipost官网下载 |  接口测试postman官网下载 |  原型设计工具AxureRP官网下载 |  canal官网下载 |  idea主题样式下载 |  vue的GitHub下载 |  finalShell官网下载 |  ETL工具kafka官网下载 |  cavaj[java反编译]官网下载 |  jd-gui[java反编译]官网下载 |  radmin[远程连接]官网下载 |  tcping[win ping端口]下载 |  jQueryUploadFile官网下载 |  RedisPlus下载 |  aiXcoder智能编程助手官网下载 |  [表单效验]validform官网下载 |  idea官网下载 |  RedisStudio下载 |  MD转word含公式pandoc官网下载 |  logviewer官网下载 |  Kafka官网下载 |  hbase高速下载 |  hadoop官网下载 |  hadooponwindows的GitHub下载 |  hive官网下载 |  soapui官网下载 |  flink官网下载 |  kafkatool官网下载 |  MinIO官网下载 |  MinIO中国镜像下载 | 
办公相关工具
免费在线拆分PDF【不超过30M】 |  免费在线PDF转Word【不超过10M】 |  在线文字识别转换【不超过1M】 |  PDF转换成Word【不超过50M】 |  在线OCR识别 |  Smallpdf |  文件转换器Convertio |  迅捷PDF转换器 |  字母大小写转换工具 |  档铺 |  快传airportal[可文字] |  快传-文叔叔 |  P2P-小鹿快传 |  [图床]ImgURL | 
网站入口
腾讯文档 |  有道云笔记网页版 |  为知笔记网页版 |  印象笔记网页版 |  蓝奏云 |  QQ邮箱 |  MindMaster在线思维导图 |  bilibili |  PDM文件在线打开 |  MPP文件在线打开 |  在线PS软件 |  在线WPS |  阿里云企业邮箱登陆入口 | 
其他
PDF转换 |  悦书PDF转换 |  手机号注册查询 |  Reg007 |  akmsg |  ip8_ip查询 |  ipip_ip查询 |  天体运行testtubegames |  测试帧率 |  在线网速测试 |