一头扎进Mybatis_学习笔记
第一讲 问候MyBatis他大爷
一.简介
MyBatis是持久层的ORM框架,文中用到的版本是MyBatis3.
二.HelloWorld版实现
1.引入mybatis-3.2.8.jar和ojdbc6.jar
2.引入jdbc.properties
3.引入mybatis-config.xml,
4.新建SqlSessionFactoryUtil类,用于获取SqlSession。SqlSession相当于获取的数据库连接。
5.新建数据库表t_student和对应Student类。
6.新建StudentMapper接口及其add(Student student)方法,Mapper层相当于是Dao层,也可以为
StudentDao
7.新建StudentMapper.xml文件,实现StudentMapper接口
8.新建Service层的StudentTestService调用入数据
第二讲 MyBatis项目配置
对于mybatis-config.xml文件的讲解
第一节:environments
MBatis 支持多个环境,可以任意配置
第二节:transactionManager
MyBatis 支持两种类型的事务管理器:JDBC 和 MANAGED(托管);
JDBC:应用程序负责管理数据库连接的生命周期;
MANAGED:由应用服务器负责管理数据库连接的生命周期;(一般商业服务器才有此功能,如
JBOSS,WebLogic)
第三节:dataSource
用来配置数据源;类型type有:UNPOOLED,POOLED,JNDI;
UNPOOLED:没有连接池,每次数据库操作,MyBatis 都会创建一个新的连接,用完后,关闭;适合小并
发项目;
POOLED:用上了连接池;
JNDI:使用应用服务器配置 JNDI 数据源获取数据库连接;
第四节:properties
配置属性
第五节:typeAlias
给类的完成限定名取别名,方便使用;
如果类很多的话,也可以配置成扫描包
<typeAlases>
<package name="com.java1234.model"/>
</typeAlases>
第六节:mappers
引入映射文件,有两种配置方式
如果类很多的话,也可以配置成扫描包
<mappers>
<package name="com.java1234.mappers"/>
</mappers>
第七节:配置 Log4j 日志
引入log4j.properties
引入log4j-1.2.17.jar
在StudentTestService中使用Logger类记录日志
第三讲 使用 XML 配置 SQL 映射器
第一节:INSERT 映射语句
第二节:UPDATE 映射语句
第三节:DELETE 映射语句
第四节:SELECT 映射语句
第四讲 MyBatis 关系映射
第一节:一对一关系实现
学生和地址之间一对一
一对一学生对应地址查询推荐使用
新建AddressMapper.java和它的findById方法。
新建AddressMapper.xml和它的findById方法。
配置student的resultMap,里面增加address的association。
配置StudentMapper和StudentMapper.xml的findStudentWithAddress
第二节 一对多关系实现
学生和年级一对多
方向1:查询年级下面有多少学生
新建model层Grade类,带List<Student> students.
新建GradeMapper及其方法findById。
新建GradeMapper.xml,注意resultMap中配置collection
StudentMapper和StudentMapper.xml中新建findByGradeId(根据gradeId查找学生)
方向二:查询学生带年级信息
与查询学生带地址信息一样。
已经新建GradeMapper及其方法findById。
在resultMap中增加grade的association。
第三节 多对多关系实现
用两个一对多实现
第五讲 动态SQL
参见MyBaitis02项目
第一节:if 条件
参见student.searchStudents方法
第二节:choose,when 和 otherwise 条件
参见student.searchStudents2方法
第三节:where 条件
参见student.searchStudents3方法
作用:
1,自动加上 where子句;
2,如果 where 子句以 and 或者 or 开头,则自动删除第一个 and 或者 or;
第四节:trim 条件
参见student.searchStudents4方法
功能和 where 元素类似,提供了前缀,后缀功能,更加灵活;
第五节:foreach 循环
参见student.searchStudents5方法
第六节:set 条件
参见student.updateStudent方法
1,set标签会自动加上 set语句;
2,可以自动剔除最后一个逗号“,”;
第八讲 Mybatis 与 Spring,SpringMvc整合
一,Spring 与 SpringMvc 整合 二,Spring 与 Mybatis 整合
1.引入jar包
2.引入web.xml
3.引入applicationContext.xml支持spring。applicationContext.xml中将sqlSessionFactory交给
spring来管理
4.引入mybatis-config.xml支持mybatis
5.引入spring-mvc.xml支持springmvc
6.引入log4j.properties和对应log4jjar包支持log4j
三.分层的包
entity mappers dao controller service service.impl
本文地址:https://blog.csdn.net/FeilxChioa/article/details/85989899