mybatis中核心配置文件和映射文件的一些知识点
对mybatis中映射文件的概述(一般命名为xxxMapper.xml)
映射文件中的一些注意事项:
• 在映射文件中使用parameterType属性指定要插入的数据类型
•Sql语句中使用#{实体属性名}方式引用实体中的属性值
•增、删、改操作涉及数据库数据变化,所以要使用sqlSession对象显示的提交事务,即sqlSession.commit()
MyBatis核心配置文件概述(一般命名为SqlMapConfig.xml)
配置文件中常用配置的解析
environments标签的使用
数据库环境的配置,支持多环境配置
Properties标签的使用
注意标签的配置顺序:
properties,settings,typeAliases,typeHandler… 如图
实际开发中,习惯将数据源的配置信息单独抽取成一个properties文件,该标签可以加载额外配置的properties文件。也充分的利用了解耦合的思想
jdbc.properties的编写示例:
drive=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db2
username=root
password=savior
typeAliases标签
这其实就相当于一个起别名的操作,为Java 类型设置一个短的名字。原来的类型名称配置如下
配置typeAliases,为com.duanping.pojo.User定义别名为user
使用别名
上面我们是自定义的别名,mybatis框架已经为我们设置好的一些常用的类型的别名
mapper标签
mapper标签是用来加载配置文件的,这个很重要,它有如下几种加载方式
•使用相对于类路径的资源引用,例如:
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
•使用完全限定资源定位符(URL),例如:
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
•使用映射器接口实现类的完全限定类名,例如:
<mapper class="org.mybatis.builder.AuthorMapper"/>
•将包内的映射器接口实现全部注册为映射器,例如:
<package name="org.mybatis.builder"/>
mybatis提供的代理开发方式
传统方式:我们编写好dao层的接口规范和里面的方法后,还要去创建一个相应的实现类来实现该接口,才能达到使用的目的。
代理开发方式:我们就不用再编写相应的实现类了
采用 Mybatis 的代理开发方式实现 DAO 层的开发,这种方式是我们后面进入企业的主流。
Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由Mybatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。
Mapper 接口开发需要遵循以下规范()重要:
1) Mapper.xml文件中的namespace与mapper接口的全限定名相同
2) Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3) Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同
4) Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同