mybatis入门

---恢复内容开始---

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实例的最好的作用域是

方法体内(即一个本地方法).

原文地址:https://www.cnblogs.com/cuihe-java/p/8033986.html