搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 蛙课网 > MyBatis开发框架的四大核心

MyBatis开发框架的四大核心

蛙课网 2018-10-29

MyBatis开发框架的四大核心


 MyBatis四大核心主要包括

(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。

MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper。可以说,了解了这四大核心,便可知 MyBatis 八 九。


SqlSessionFactoryBuilder
从命名上可以看出,这个是一个 Builder 模式的,用于创建 SqlSessionFactory 的类。SqlSessionFactoryBuilder 根据配置来构造 SqlSessionFactory。

其中配置方式有两种

1. XML 文件方式
XML 文件方式是作为常用的一种方式:


String resource = "org/mybatis/example/mybatis

-config.xml

";InputStream inputStream = Resources.

getResourceAsStream

(resource);SqlSessionFactory sqlSessionFactory =

new SqlSessionFactoryBuilder().build(inputStream);


mybatis-config.xml 就是我们的配置文件:

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">


2. Java Config
这是第二种配置方式,通过 Java 代码来配置:


DataSource dataSource = BlogDataSourceFactory.

getBlogDataSource(); TransactionFactory transactionFactory = new

JdbcTransactionFactory(); Environment environment = new

Environment("development", transactionFactory, 

dataSource); Configuration configuration = new

Configuration(environment);

configuration.addMapper(BlogMapper.class); SqlSessionFactory sqlSessionFactory = new

SqlSessionFactoryBuilder().build(configuration);


Java Config 相比较 XML 文件的方式而言,会有一些限 制。

比如修改了配置文件需要重新编译,注解方式没有 XML 配置项多等。所以,业界大多数情况下是选择 XML 文件的方式。但到底选择哪种方式,这个要取决与自己团队的需要。比如,项目的 SQL 语句不复杂,也不需要一些高级的 SQL 特性,那么 Java Config 则会更加简洁一点;反之,则可以选择 XML 文件的方式。

SqlSessionFactory
SqlSessionFactory 顾名思义,是用于生产 SqlSession 的工厂。

通过如下的方式来获取 SqlSession 实例:

SqlSession session = sqlSessionFactory.

openSession();

SqlSession
SqlSession 包含了执行 SQL 的所有的方法。以下是示例:

SqlSession session = sqlSessionFactory.

openSession();try {

Blog blog = session.selectOne

("org.mybatis.example.BlogMapper.selectBlog", 101);

} finally { session.close(); }

当然,下面的方式可以做到类型安全:

SqlSession session = sqlSessionFactory.

openSession();try {

BlogMapper mapper = session.

getMapper(BlogMapper.class);

Blog blog = mapper.selectBlog(101); } finally { session.close(); }

Mapper
Mapper 顾名思义,是用做 Java 与 SQL 之间的映射的。包括了 Java 映射为 SQL 语句,以及 SQL 返回结果映射为 Java。

比如,下面是一个常见的 Mapper 接口映射文件:

select * from Blog where id = #{id}

其中 "org.mybatis.example.BlogMapper" 
就是我们要射射的接口,selectBlog
就是BlogMapper上的方法。而这个 selectBlog
具体就是要执行“select * from Blog where id = #{id}”这个 SQL 语句。

这样,我们就能通过

Blog blog = session.selectOne("org.mybatis.

example.BlogMapper

.selectBlog", 101);

或者是

BlogMapper mapper = session.getMapper

(BlogMapper.class);

Blog blog = mapper.selectBlog(101);

来获取到执行的结果。

当然,如果是采用注解的方式的话,可以省去 XML 文件:

public interface BlogMapper

{@Select("SELECT * FROM blog WHERE id = #{id}")

Blog selectBlog(int id); }

好啦,关于MyBatis开发框架的四大核心,就讲到这里啦,希望对你有帮助。如果你什么想要了解的技术知识,可以给小蛙留言,小蛙收到后会为你推荐相应的课程或是文章哦~


我 是 程 序 员 的 朋 友 小 蛙
记得关注哦~


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《MyBatis开发框架的四大核心》的版权归原作者「蛙课网」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注蛙课网微信公众号

蛙课网微信公众号:wkcto-com

蛙课网

手机扫描上方二维码即可关注蛙课网微信公众号

蛙课网最新文章

精品公众号随机推荐