MyBatis的学习(二)——MyBatis事务核心对象及配置

一、获取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种方式:

  1. 路径相对于资源目录跟路径:
  2. 使用完整的文件路径:注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
  3. 可直接配个扫描包:推荐!

 

猜你喜欢

转载自blog.csdn.net/qq_41061437/article/details/83752901