mybatis学习笔记2.doc
《mybatis学习笔记2.doc》由会员分享,可在线阅读,更多相关《mybatis学习笔记2.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流mybatis学习笔记2【精品文档】第 19 页第十六章 回顾SQL99中的连接查询 1)内连接 2)外连接 3)自连接 第十七章 回顾hibernate多表开发1)一对一2)一对多3)多对多第十八章 mybatis一对一映射【学生与身份证】1)参见2)创建students.sql和cards.sql drop table students;drop table cards;create table cards(idint(5)primary key,num varchar(20);create table students(idint(5)primar
2、y key,name varchar(10),cid int(5),constraint cid_fk foreign key(cid) references cards(id);insert into cards(id,num) values(1,111);insert into students(id,name,cid) values(1,哈哈,1);3)创建Students.java和Card.java public class Card private Integer id;private String num;private Student student;public Card()
3、public Integer getId() return id;public void setId(Integer id) this.id = id;public String getNum() return num;public void setNum(String num) this.num = num;public Student getStudent() return student;public void setStudent(Student student) this.student = student;public class Student private Integer i
4、d;private String name;private Card card;public Student()public Integer getId() return id;public void setId(Integer id) this.id = id;public String getName() return name;public void setName(String name) this.name = name;public Card getCard() return card;public void setCard(Card card) this.card = card;
5、4)创建StudentMapper.xml和CardMapper.xml CardMapper.xml StudentMapper.xmlselect s.id,s.name,c.id,c.numfrom students s inner join cards con s.cid = c.id and s.id = #id5)创建StudentCardDao.java public class StudentCardDao /* * 查询1号【学生】 */public Student findById(int id) throws ExceptionSqlSession sqlSession
6、= null;trysqlSession = MybatisUtil.getSqlSession();return sqlSession.selectOne(studentNamespace.findById,id);catch(Exception e)e.printStackTrace();throw e;finallyMybatisUtil.closeSqlSession();public static void main(String args) throws ExceptionStudentCardDao dao = new StudentCardDao();Student stude
7、nt = dao.findById(1);System.out.println(student.getId()+:+student.getName();System.out.println(student.getCard().getId()+:+student.getCard().getNum();第十九章 mybatis一对多映射【班级与学生】1)参见2)创建grades.sql和students.sqldrop table students;drop table grades;create table grades(gidint(5)primary key,gname varchar(10
8、) );create table students(sidint(5)primary key,sname varchar(10), sgid int(5), constraint sgid_fk foreign key(sgid) references grades(gid);insert into grades(gid,gname) values(1,java);insert into students(sid,sname,sgid) values(1,哈哈,1);insert into students(sid,sname,sgid) values(2,呵呵,1);3)创建Grade.ja
9、va和Student.sql/* * 班级(单方) * author AdminTC */public class Grade private Integer id;private String name;private List studentList = new ArrayList();public Grade()public Integer getId() return id;public void setId(Integer id) this.id = id;public String getName() return name;public void setName(String n
10、ame) this.name = name;public List getStudentList() return studentList;public void setStudentList(List studentList) this.studentList = studentList;/* * 学生(多方) * author AdminTC */public class Student private Integer id;private String name;private Grade grade;public Student()public Integer getId() retu
11、rn id;public void setId(Integer id) this.id = id;public String getName() return name;public void setName(String name) this.name = name;public Grade getGrade() return grade;public void setGrade(Grade grade) this.grade = grade;4)创建GradeMapper.xml和StudentMapper.xml GradeMapper.xmlselect g.gid,g.gname,s
12、.sid,s.snamefrom grades g,students swhere g.gid = s.sgidand s.sname = #name StudentMapper.xmlselect s.sid,s.sname,g.gid,g.gnamefrom grades g,students swhere g.gid = s.sgidand g.gname = #name5)创建GradeStudentDao.javapublic class GradeStudentDao /* * 查询java班级有哪些【学生】 */public List findAllByName(String n
13、ame) throws ExceptionSqlSession sqlSession = null;trysqlSession = MybatisUtil.getSqlSession();return sqlSession.selectList(studentNamespace.findAllByName,name);catch(Exception e)e.printStackTrace();throw e;finallyMybatisUtil.closeSqlSession();/* * 查询哈哈属于哪个【班级】 */public Grade findGradeByName(String n
14、ame) throws ExceptionSqlSession sqlSession = null;trysqlSession = MybatisUtil.getSqlSession();return sqlSession.selectOne(gradeNamespace.findGradeByName,name);catch(Exception e)e.printStackTrace();throw e;finallyMybatisUtil.closeSqlSession();public static void main(String args) throws ExceptionGrade
15、StudentDao dao = new GradeStudentDao();List studentList = dao.findAllByName(java);for(Student s : studentList)System.out.println(s.getId()+:+s.getName()+:+s.getGrade().getId()+:+s.getGrade().getName();Grade grade = dao.findGradeByName(哈哈);System.out.println(grade.getId()+:+grade.getName();第二十章 mybat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mybatis 学习 笔记
限制150内