




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、mybatis学习笔记2第十六章 回顾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)primary key,name varchar(10),cid int(5
2、),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()public Integer getId() return id
3、;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 id;private String name;private Ca
4、rd 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) = name;public Card getCard() return card;public void setCard(Card card) this.card = card;4)创建StudentMapper.xml和CardMapper
5、.xml CardMapper.xml StudentMapper.xmlselect s.id,,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 = null;trysqlSession = MybatisUt
6、il.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 student = dao.findById(1);System.out.
7、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) );create table students(sidint
8、(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.java和Student.sql/* * 班级(单方) * auth
9、or 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 name) = name;public Lis
10、t 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() return id;public void setId(Integer
11、id) this.id = id;public String getName() return name;public void setName(String 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.sid,s.snamefrom grades g,studen
12、ts 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 name) throws ExceptionSqlSession
13、sqlSession = null;trysqlSession = MybatisUtil.getSqlSession();return sqlSession.selectList(studentNamespace.findAllByName,name);catch(Exception e)e.printStackTrace();throw e;finallyMybatisUtil.closeSqlSession();/* * 查询哈哈属于哪个【班级】 */public Grade findGradeByName(String name) throws ExceptionSqlSession
14、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 ExceptionGradeStudentDao dao = new GradeStuden
15、tDao();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();第二十章 mybatis多对多映射【学生与课程】1)参见2)创建students.s
16、ql和courses.sql和middles.sqldrop table middles;drop table students;drop table courses;create table students(sid int(5) primary key,sname varchar(10);create table courses(cid int(5) primary key,cname varchar(10);create table middles(sid int(5),cid int(5),primary key(sid,cid);insert into students(sid,sn
17、ame) values(1,哈哈);insert into students(sid,sname) values(2,呵呵);insert into courses(cid,cname) values(1,java);insert into courses(cid,cname) values(2,net);insert into middles(sid,cid) values(1,1);insert into middles(sid,cid) values(1,2);insert into middles(sid,cid) values(2,1);insert into middles(sid
18、,cid) values(2,2);select * from students;select * from courses;select * from middles;3)创建Student.java和Course.java/* * 学生(多方) * author AdminTC */public class Student private Integer id;private String name;private List courseList = new ArrayList();public Student()public Integer getId() return id;publi
19、c void setId(Integer id) this.id = id;public String getName() return name;public void setName(String name) = name;public List getCourseList() return courseList;public void setCourseList(List courseList) this.courseList = courseList;/* * 课程(多方) * author AdminTC */public class Course private
20、 Integer id;private String name;private List studentList = new ArrayList();public Course()public Integer getId() return id;public void setId(Integer id) this.id = id;public String getName() return name;public void setName(String name) = name;public List getStudentList() return studentList;
21、public void setStudentList(List studentList) this.studentList = studentList;4)创建StudentMapper.xml和CourseMapper.xml StudentMapper.xmlselect s.sid,s.snamefrom students s,middles m,courses cwhere s.sid = m.sid and m.cid = c.cidand ame = #name CourseMapper.xmlselect c.cid,amefrom students s,midd
22、les m,courses cwhere s.sid = m.sid and m.cid = c.cidand s.sname = #name5)创建students.sql和courses.sql和middles.sqlpublic class StudentCourseDao /* * 查询哈哈选学的【课程】 */public List findCourseByName(String name) throws ExceptionSqlSession sqlSession = null;trysqlSession = MybatisUtil.getSqlSession();return sq
23、lSession.selectList(courseNamespace.findCourseByName,name);catch(Exception e)e.printStackTrace();throw e;finallyMybatisUtil.closeSqlSession();/* * 查询java课程有哪些【学生】 */public List findStudentByName(String name) throws ExceptionSqlSession sqlSession = null;trysqlSession = MybatisUtil.getSqlSession();ret
24、urn sqlSession.selectList(studentNamespace.findStudentByName,name);catch(Exception e)e.printStackTrace();throw e;finallyMybatisUtil.closeSqlSession();public static void main(String args) throws ExceptionStudentCourseDao dao = new StudentCourseDao();/List courseList = dao.findCourseByName(哈哈);/for(Co
25、urse c : courseList)/System.out.println(c.getId()+:+c.getName();/List studentList = dao.findStudentByName(java);for(Student s : studentList)System.out.println(s.getId()+:+s.getName(); 第二十一章 spring + mybatis + mysql/oracle开发1)创建一个spring-mybatis-mysql这么一个javaweb或java工程2)导入spring-ioc,spring-aop,spring-
26、transaction,mybatis,c3p0,mysql/oracle相关的jar包和spring整合mybatis的jar包3)创建students.sql-mysqlcreate table students( sid int(5) primary key, sname varchar(10), ssal double(8,2);4)创建Student.java/* * 学生 * author AdminTC */public class Student private Integer id;/编号private String name;/姓名private Double sal;/薪
27、水public Student()public Student(Integer id, String name, Double sal) this.id = id; = name;this.sal = sal;public Integer getId() return id;public void setId(Integer id) this.id = id;public String getName() return name;public void setName(String name) = name;public Double getSal() r
28、eturn sal;public void setSal(Double sal) this.sal = sal;5)创建StudentMapper.xmlinsert into students(sid,sname,ssal) values(#id,#name,#sal)6)创建StudentDao.javapublic class StudentDao private SqlSessionFactory sqlSessionFactory;public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) this.sq
29、lSessionFactory = sqlSessionFactory;public void insert(Student student)SqlSession sqlSession = sqlSessionFactory.openSession();sqlSession.insert(studentNamespace.insert,student);/int i = 10/0;public static void main(String args) ApplicationContext ac = new ClassPathXmlApplicationContext(new Stringsp
30、ring.xml);StudentDao studentDao = (StudentDao) ac.getBean(studentDaoID);studentDao.insert(new Student(1,哈哈,7000D);7)在src目录下创建mybatis.xml8)在src目录下创建spring.xml 第二十二章 jsp/js/jquery/easyui/json + springmvc + spring + mybatis + mysql/oracle开发1) 员工管理系统-增加员工第二十三章 jdbc访问oracle存储过程和存储函数1)写一个计算个人所得税的应用-定义过程cr
31、eate or replace procedure get_rax(salary in number,rax out number)as -需要交税的钱 bal number;begin bal := salary - 3500; if bal=1500 then rax := bal * 0.03 - 0; elsif bal=4500 then rax := bal * 0.1 - 105; elsif bal=9000 then rax := bal * 0.2 - 555; elsif bal=35000 then rax := bal * 0.25 - 1005; elsif bal
32、=55000 then rax := bal * 0.3 - 2755; elsif bal=80000 then rax := bal * 0.35 - 5505; else rax := bal * 0.45 - 13505; end if;end;/-调用过程declare -交税 rax number; salary number := &salary;begin get_rax(salary,rax); dbms_output.put_line(salary|元工资需要交|rax|元税);end;/ /Java调用过程public class TestCallOracleProc p
33、ublic static void main(String args) throws ExceptionString sql = call get_rax(?,?);Connection conn = JdbcUtil.getConnection();CallableStatement cstmt = conn.prepareCall(sql);cstmt.setInt(1,10000);cstmt.registerOutParameter(2,Types.INTEGER);cstmt.execute();Integer rax = cstmt.getInt(2);System.out.println(10000元需要交 + r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司加油卡管理规定
- 行政法律测试题库及答案
- 新课标教师语文考试试题及答案
- 跨界合作股权交割与品牌整合协议
- 跨界合作网络小说IP改编授权协议
- 2025年学生会年底总结大会发言稿模版
- 碳中和战略实施中的企业绿色投资合作协议
- 气胸护理系统化讨论
- 网络游戏运营风险控制补充协议
- 家庭成员子女监护权确认与保障合同
- 民俗学概论全套精美课件
- 应用文写作概述课件
- 危重症孕产妇交流课件:妊娠遇到主动脉夹层抢救成功病例分享
- 数控加工中心培训课件
- 高中政治《增强“四个意识”做到“两个维护”》教学设计
- 山东省医院护理服务质量评价细则简介
- 自动控制原理全套ppt课件(完整版)
- 关联交易同期资料模板
- 荷叶圆圆说课课件
- 路斯特DriveManager基本操作
- 截止阀合格证模板
评论
0/150
提交评论