MyBatis的学习(二)——MyBatis事务核心对象及配置
一、获取SqlSession对象MyBatis框架中涉及到的几个APISqlSessionFactoryBuilder:该对象负责根据MyBatis配置文件mybatis-config.xml构建SqlSessionFactory实例 负责生产sessionSqlSessionFactory:每一个MyBatis的应用程序都以一个SqlSessionFactory对象为核心。该对象负...
一、获取SqlSession对象
MyBatis框架中涉及到的几个API
SqlSessionFactoryBuilder:该对象负责根据MyBatis配置文件mybatis-config.xml构建SqlSessionFactory实例 负责生产session
SqlSessionFactory:每一个MyBatis的应用程序都以一个SqlSessionFactory对象为核心。该对象负责创建SqlSession对象实例。
SqlSession:该对象包含了所有执行SQL操作的方法,用于执行已映射的SQL语句
二、使用动态代理实现接口的实现类(不需要Mapper实现类)
在传统项目中,dao层接口需要实现类,而使用MyBatis不需要使用接口实现类,只需要使用配置文件即可
如何得到动态代理:
SqlSession session=null;
UserMapper mapper=null;
@Before
public void init(){
session = MyBatisUtil.getSession();
mapper=session.getMapper(UserMapper.class);
}
注意:
①保证命名空间和接口的全路径一致;
②Statement的id和接口中的方法名一致
③加入到mybatis-config.xml中
总结:
使用mapper接口不用写接口实现类即可完成数据库操作,使用非常简单,也是官方所推荐的使用方法。
使用mapper接口的必须具备以几个条件:
1) Mapper的namespace必须和mapper接口的全路径(包名+接口名)一致。
2) Mapper接口的方法名必须和sql定义的id一致。
3) Mapper接口中方法的输入参数类型必须和sql定义的parameterType一致。
4) Mapper接口中方法的输出参数类型必须和sql定义的resultType一致。
三、Mybatis-Config配置
properties 属性
settings 设置
typeAliases 类型别名
typeHandlers 类型处理器
objectFactory 对象工厂
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
mappers 映射器
Mybatis的配置文件中配置项是有顺序的,即按照上面的顺序;
①Properties
②typeAliases(别名)
类型别名是为 Java 类型命名一个短的名字。 它只和 XML 配置有关, 只用来减少类完全限定名的多余部分。
使用定义的别名是不区分大小写的,但一般按java规则去使用即可,即user或者User
③mappers
mapper映射文件的引入有3种方式:
- 路径相对于资源目录跟路径:
- 使用完整的文件路径:注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
- 可直接配个扫描包:推荐!
更多推荐
所有评论(0)