目录
每文一铺垫
核心配置文件标签及使用
顶层结构
1.properties标签
2.typeAliases 类型别名
3.mappers映射器
映射文件
映射文件如何关联 两个关键点:
收尾+剧透
小橙分享完Mybatis基础操作后,大家对于整体流程已经很清晰了,但是,在我们实际开发的过程中Mybatis中的两个重要部分:核心配置文件、映射文件,zzzz(大家可以猜一下这是什么词语,类似于yyds),而这正是Mybatis的关键部分之一,今天小橙就来分享对于这两个xml文件的基础操作。
在创建核心配置文件 SqlMapConfig.xml的时候创建的是xml文件,其他文件不行
以下文件头可直接复制使用,无需自己写
接下来我们介绍放在这个文件中的标签
configuration 配置
properties 属性
settings 设置
typeAliases 类型别名
typeHandlers 类型处理器
objectFactory 对象工厂
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
databaseIdProvider 数据库厂商标识
mappers 映射器
配置properties标签有两种方式,静态配置 动态配置(连接demo数据库)
(1)静态配置
(2)动态配置
我们在classpath下创建 db.properties文件,里面把数据库信息配置好(我这配置的只是最简单的,还有最大、最小连接数、连接上限等等参数,参考Druid源码,自行配置)
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/demo
jdbc.username=root
jdbc.password=123456
然后在 SqlMapConfig.xml引入db.properties文件
接着引用db.properties文件中已经配置好了的数据库信息
给类取别名后,在其他地方引用的时候,引用别名即可
每一个在包 com.yll.domain 中的 JavaBean,在没有注解的情况下,会使用 Bean 的类名来作为它的别名.不区分大小写
比如 domain.blog.Author 的别名为 author;
注解开发中,别名直接写在括号里,如下
@Alias("user")
public class User {
......
}
我们在使用Mybatis开发时,SQL语句是在mapper.xml里定义的,我们需要告诉 MyBatis 到哪里去找到这些语句。(将二者关联)
1>. 配置mapper.xml
映射配置文件路径
2>. 配置mapper
接口路径
3>. 扫描包下的所有mapper接口
如果怕有漏的可以扩大他的范围直接扫描整个com包
(1)Mapper接口关联Mapper.xml映射文件
(2)接口中的方法和xml文件中的方法关联
1.Mapper接口关联Mapper.xml映射文件,这里的namespace就是我们想要关联的papper接口的完整路径。
2.
增、删、改、查
3.子标签里的属性
id : 对应Mapper接口中的方法名
parameterType :参数类型
sql中需要的参数类型,需要参数,可以使用这个属性指定参数类型,如果不需要,不写这个属性
即使有参数,如果参数比较多,比较复杂,也可以不写
如果传递是一个实体类/或者数字,写参数类型
resultType:返回值类型,用于查询
把查询结果封装到那个类型的对象中
例如:Student -->把查询结果封装到Student对象中
没有返回值,可以不写
resultMap:
引用自动的标签
示例:
id="findById" 是关联com.entity.Student接口中的方法名 findById(int id);
参数类型是int类型 所以parameterType="int";
返回值类型,是Student这个实体类的类型,把查询结果封装到那个类型的对象中 resultType="com.entity.Student";
好啦今天的分享就到这里啦,小橙技术还在更新中,剧透下次分享动态SQL,Mybatis一级缓存 二级缓存 以及延迟加载。
其实想把动态sql也放在这一期来,但是一级缓存 二级缓存 和延迟加载 写一期有点少,再加上今天的小橙作业还没写完,只能分享这些啦,每天都是活蹦乱跳的橙序员~~