什么是mybatis?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

mybatis核心是以sqlSessionFactory实例,该实例可以通过SqlSessionFactoryBuilder来获得,SqlSessionFactoryBuilder是通过xml文件来获取。

  • 通过Mybatis带的Resource工具类构建sqlSessionFactory

    1. String resource = "org/mybatis/example/mybatis-config.xml";
    2. InputStream inputStream = Resources.getResourceAsStream(resource);
    3. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  • xml文件核心配置,以下包括DataSource和TransactionManager(事务管理器)

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <!DOCTYPE configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. <environments default="development">
    7. <environment id="development">
    8. <transactionManager type="JDBC"/>
    9. <dataSource type="POOLED">
    10. <property name="driver" value="${driver}"/>
    11. <property name="url" value="${url}"/>
    12. <property name="username" value="${username}"/>
    13. <property name="password" value="${password}"/>
    14. </dataSource>
    15. </environment>
    16. </environments>
    17. <mappers>
    18. <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    19. </mappers>
    20. </configuration>

    当然也可以通过非xml方式配置mybatis,就是用一些mybatis提供的类来进行java代码的配置,由于很多复杂如嵌套联合映射等都还要用xml配置,尤其是现在很多场景用springboot的applicalion.yml配置,这里对Java代码配置就不过多赘述。

有了SqlSessionFactory ,就要获取sqlsession最终查出我们想要查的数据。先是通过sqlsessionFactory获得到sqlSession,然后通过sqlSession获得相应的mapper,相应的mapper可以查的相应的数据,以后还会慢慢展开这点。下面看一下这一过程代码:

  1. try (SqlSession session = sqlSessionFactory.openSession()) {
  2. BlogMapper mapper = session.getMapper(BlogMapper.class);
  3. Blog blog = mapper.selectBlog(101);
  4. }

以上就是mybatis的简单入门,以后还会在此基础上对sql执行过程以及mybatis的特性进行展开。

版权声明:本文为yixinli原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yixinli/p/11616249.html