mybatis的回顾

好久没写博客了,今天回过头来写一次。
人总是这样,走了一段路,发现自己已近丢失了自己原本的目标,今日重新在捡起来。

总体图片

mybatis是干什么的?

mabatis是一个数据持久化的框架,为程序员提供简单,易用,高效的方式去做数据持久化操作。

mybatis怎么使用?

mybatis jar包的导入

maven工程的管理如下

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

非maven工程需自己去下载jar包

mybatis的配置

我们需要一个配置文件(xml文件)放在resource目录下,具体内容如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

说明一下里面内容
里面放置的是数据库的配置 其中default后的值是默认数据的配置
只得是某一数据库的配置
是数据源的配置
driver是驱动的类型
username 是数据库的用户名
password 是用户的数据库密码
url 是数据库的地址
mapper 是我们的sql语句存放文件的地址

mybatis的使用

在前面我们已经配置好文件了,接下来开始使用,简称三部曲

  • 配置文件路径
  • 把配置文件加载到内存
  • 工厂模式建造
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

到这里我们算是能够到此前我们学到jdbc里面的connection对象了,不过在这里,我们称为sqlsession

啰嗦一句,不同变量的生命周期

在这里sqlsessionfactorybuilder在创建后就失去了生命
sqlsessionFactory在无意外的情况,应当保留到程序结束
sqlsession应当一个线程有一个

mybatis的厉害的地方

mybatis本身的配置

属性

这里可以自己动态的设置自己想要的值,或者开启自己想要的属性

设置

在设置里面,我们可以影响整个mybatis的所有文件,设置缓存,加载方式,日志加载,或者是一些其他的东西

类型别名

减少冗余,把很长很长的名称,简单化

类型处理器

将结果集的数据按处理器的方式返回相应的数据类型

对象工厂

可以按自己想要的方式生成对象(有参构造和无参构造)

插件

允许在映射语句的地方进行拦截调用

环境配置

这个地方是数据源配置的地方

映射器

告诉mybatis去哪里找相应的文件,里面存放的是sql文件

强大的映射语句

select
insert
update
delete

动态sql

这里最重要的映射语句和动态sql请参考mybatis的官方文档,自己水平有点差,讲不清楚

原文地址:https://www.cnblogs.com/xiaozhazhahui/p/15056784.html