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>
说明一下里面内容
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的官方文档,自己水平有点差,讲不清楚