转自张胜鸿的程序人生(QQ9017197)MyBatis一对多demo!!!

stringintegerclassencodinginterfacejoin

在学习MyBatis3的过程中,文档上面一直在强调一个id的东西!在做这个实验的时候,也因为没有理解清楚id含义而导致一对多的“多”中也只有一条数据。id和result的唯一不同是id表示的结果将是当比较对象实例时用到的标识属性。这帮助来改进整体表现,特别是缓存和嵌入结果映射。所以不同数据的id应该唯一区别,不然倒置数据结果集只有一条数据。

TeacherMapper.xml

[xhtml] view plaincopyprint?
01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14. select t.t_id,t.t_name,s.t_s_id,s.s_id,s.s_name
15. from teacher t join student s on t.t_id = s.t_s_id where t.t_id = #{id}
16.
17.

Teacher

[java] view plaincopyprint?
01.package com.nantian.mybatis.one2one;
02.
03.import java.util.List;
04.
05.import com.nantian.mybatis.one2many.Student;
06.
07.public class Teacher {
08. private int id;
09. private String name;
10. private List students;
11.
12. public int getId() {
13. return id;
14. }
15.
16. public void setId(int id) {
17. this.id = id;
18. }
19.
20. public String getName() {
21. return name;
22. }
23.
24. public void setName(String name) {
25. this.name = name;
26. }
27.
28. public List getStudents() {
29. return students;
30. }
31.
32. public void setStudents(List students) {
33. this.students = students;
34. }
35.}

TeacherMapper

[java] view plaincopyprint?
01.package com.nantian.mybatis.one2many;
02.
03.import com.nantian.mybatis.one2one.Teacher;
04.
05.public interface TeacherMapper {
06. public Teacher one2many(int id);
07.}

Student

[java] view plaincopyprint?
01.package com.nantian.mybatis.one2many;
02.
03.public class Student {
04. private int id;
05. private String name;
06.
07. public int getId() {
08. return id;
09. }
10.
11. public void setId(int id) {
12. this.id = id;
13. }
14.
15. public String getName() {
16. return name;
17. }
18.
19. public void setName(String name) {
20. this.name = name;
21. }
22.}

T

[java] view plaincopyprint?
01.package com.nantian.mybatis.one2many;
02.
03.import java.util.List;
04.
05.import org.apache.ibatis.session.SqlSession;
06.
07.import com.nantian.mybatis.data.DBUtil;
08.import com.nantian.mybatis.one2one.Teacher;
09.
10.public class T {
11.
12. public static void main(String[] args) {
13. SqlSession sqlSession = DBUtil.getInstance().getSqlSessionFactory()
14. .openSession();
15. try {
16. TeacherMapper teacherMapper = sqlSession
17. .getMapper(TeacherMapper.class);
18. Teacher teacher = teacherMapper.one2many(100);
19. List students = teacher.getStudents();
20. System.out.println(teacher.getId());
21. System.out.println(teacher.getName());
22. for (Student student : students) {
23. System.out.println(student.getId());
24. System.out.println(student.getName());
25. }
26. } finally {
27. sqlSession.close();
28. }
29. }
30.
31.}

时间: 2024-09-28 16:09:49

转自张胜鸿的程序人生(QQ9017197)MyBatis一对多demo!!!的相关文章

程序员生存定律--程序人生的出口

程序员的人生出口 很多人非常想知道自己的未来是什么样子的,迫切到一定程度甚至会找算命先生.如果并不是想得到一个精确结果,这事儿其实并没有想的那么难.程序员的人生看起来五花八门,可以是Windows系,可以是Android系,可以是iPhone系等等,但如果为之做点抽象,那就会发现人生出口的类别其实不多,接下来我们就结合例子来看看程序员的人生中最可能的几个出口.这些出口里有大部分人的未来景象. 1 成就超一流高手 袁峰先生是<Windows图形编程>一书的作者,也是一位纯粹的程序员.从袁峰先生公

浅谈程序员的行业选择---程序人生

引言 本篇博文接着许久之前的一篇博文<浅谈程序猿的职业规划,看你如何决定自己的未来吧.>,继续探讨一下程序员行业相关的内容. 行业的选择不仅对于程序员来说非常重要,对任何一个人来说都是一样的.只不过对于程序员来说,行业更容易被忽略.从程序员每天热议的话题就能看出来,大部分的热议话题都是C#和Java哪个更牛B,或者IOS和Android哪个挣得钱多,很少看到程序员去讨论两个行业谁更有发展前景. 鉴于此,今天我们就来着重讨论一下程序员行业的选择,行业和语言一样,没有谁优谁劣,只是一种选择罢了.

程序人生出口

看到一篇文章,总结了下程序人生出口,感觉很不错,对于爱好技术的我蛮喜欢第一条的,其次是第二条,你的出口是哪条呢? 1.成就超一流高手 简单来讲就是继续以程序员的身份进行奋斗成为牛人. 2.积累.爆发.开始创业 简单来讲就是自己做产品,努力当 CxO 去. 3.转向管理之路 大多情形下是抛弃程序,内部转行去喊口号. 4.维持原状的老码农 就是在 CRUD 这个层面打转那种. 5.提前退场.向代码说再见 眼看前途渺茫,转行了. 程序人生出口,布布扣,bubuko.com

程序人生和世界观

悟 这个东西来自灵光一闪,与时间无关,与境遇相关,可以说"十年循环,不如一夕顿悟",每个人悟到的东西都不是一样的,如果你也悟到了什么,都请坚持这种"可遇不可求"的东西,它将帮助你,形成一种不平凡的世界观. 信 我们寻求问题的答案,从好朋友,从普通交往的人,从自己不太喜欢的人.如果一直从朋友处寻找答案,那是一种"不肯让自己离开舒适区"的行为,本质是寻找"自己想听的答案":从普通交往的人,从自己不太喜欢的人,则是切入了一个解答问题

程序员生存定律--前言:解码程序人生

#本来这些陆续累积下来的文章是要汇集成一本书的,和侠少同学也谈过,但弄V众投实在太忙了,没空管精调细作它了,所以把这些章节陆续整理下放出来,希望对刚入行的小朋友们有些帮助.有些事真是入行很久后才明白,感觉上如果能预先明白了,应该挺有帮助的.下面故事开始. ----------------------------------------------------------------------------------------------------- 有这样两个人,他们一个66年出生于陕西长

程序人生【一些经典的资料】

CSDN下载精品专辑 http://download.csdn.net/doc 其中 http://download.csdn.net/album/detail/2261 程序人生 这个包含了好基本经典文件,如下:     程序员职业规划哲理思想.pdf_9151559.pdf     程序员生存定律.pdf_9151543.pdf     百度文库成长记.pdf_9076243.pdf     程序员囧途.pdf_9151527.pdf     程序员自我修养.pdf_9151567.pdf

程序人生--世界观

悟 这个东西来自灵光一闪,与时间无关,与境遇相关.能够说"十年循环,不如一夕顿悟".每一个人悟到的东西都不是一样的,假设你也悟到了什么.都请坚持这样的"可遇不可求"的东西,它将帮助你,形成一种不平庸的世界观. 信 我们寻求问题的答案,从好朋友.从普通交往的人,从自己不太喜欢的人. 假设一直从朋友处寻找答案,那是一种"不肯让自己离开舒适区"的行为,本质是寻找"自己想听的答案". 从普通交往的人.从自己不太喜欢的人.则是切入了一个

程序人生:请正确看待“垃圾”代码

不知不觉,博主工作五年了,随着从事软件开发时间的增长,技术自然是慢慢积累了,但是博主认为最重要的是看待项目的眼光变了.当年博主工作1-2年的时候,自我感觉很良好,认为技术是王道:认为项目应该从技术的角度来说要完美,要符合开发规范,要符合程序思想,要符合面向对象.总之,认为技术才是正道.有时仅仅因为认为代码实现方式不爽而推倒重来:甚至不惜影响进度. 那么,果真如此么?一个项目一定要从技术的角度达到完美么,一个类,一个方法,一个变量的声明非得严格按照编程规范.一个好的程序员一定是代码写的完美的么.

《程序人生》十年风雨-从大学到技术专家我做了啥?

前言 你们都知道的,帅丙我本身肯定是达不到技术专家的地步的. 呸,敖丙你个渣男,又标题党 ! 我不是但是我身边很多人是呀,字节跳动,PDD,阿里等等的大佬我认识很多,所以以下是我问了他们的成长路径的总结,还是具有一定的代表性. 身边这些朋友都是在互联网领域多年的大牛了,因为生活和个人习惯的原因,很多都没有写博客的习惯,或者没有公开出来,但是他们却遇到了帅丙,我骚啊,我可以帮他们整理出来啊. 目的是为了让很多跟我一样的新人,对一条完整的职业规划之路有一个清晰的认知,青铜到王者要经历些什么? 青铜-