---恢复内容开始---
1.什么是MyBatis?
MyBatis是目前流行的一款支持自定义SQL,存储过程和高级映射的持久层框架,MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果.
Mybatis能够使用简单的XML格式或者注解来进行配置,能够映射基本元素数据,Map接口和pojo(普通的java对象)到数据库中的记录.
2.MyBatis的核心是什么,共有几种创建方式,分别是什么以及创建过程,各有什么优缺点?
(1)所有的MyBatis应用都是以SqlSessionFactory实例为中心,而SqlSessionFactory实例是通过SqlSessionFactoryBuilder来获取的,而SqlSessionFactoryBuilder可以通过XML的配置文件或者通过自己编译的配置类(Configuration class),来创建一个SqlSessionFactoryBuilder实例.
(2)创建过程:第一种,从XML配置文件中进行创建,
String resource = "org/mybatis/example/Configuration.xml";
Reader reader = Resource.getResourceAsReader(resource);
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
(2)第二种,不使用XML进行创建:如果不想使用第一种方式进行创建,或者想自己定义一个配置生成器,MyBatis提供了一个完整的配置类(Configuration class),他提供了与XML相同的配置选项
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development",transactionFactory,dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFaction = new SqlSessionFactoryBuilder().build(configuration);
3.作用域和生命周期
SqlSessionFactoryBuilder
这个类可以在任何时候都被实例化,使用和销毁.一旦创建了SqlSessionFactory就不需要早保留它了,所以SqlSessionFactoryBuilder实例的最好的作用域是
方法体内(即一个本地方法).