mybatis介绍
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
数据持久层框架 ORM映射框架
ORM: 对象关系映射
把关系型数据库中存储的数据和对象领域建立一种映射关系。
表 -------> 类
字段 -------> 类的属性
一行记录 --------> 对象
mybatis框架特点: 半ORM映射框架。 需要程序员自己编写SQL语句,但SQL语句定义在配置文件中。而不是写在java代码中。
mybatis环境搭建
a. 导入mybatis依赖的jar包
b. 编写配置文件
mybatis的主配置文件
配置mybatis的整体信息,sqlMapConfig.xml
mybatis的映射文件
配置程序中要使用到的SQL语句 和要操作的实体名字相关User.xml
c. 在映射文件中编写SQL语句
看一下项目结构
sqlMapconfig.xml配置文件解读
<?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>
<!-- 引入properties资源文件 ,数据库连接的资源文件
-->
<properties resource="db.properties">
</properties>
<!-- 配置环境 -->
<environments default="development">
<environment id="development">
<!-- 配置mybatis事务管理 ,jdbc的事务管理
JDBC - 这个类型直接全部使用 JDBC 的提交和回滚功能。它依靠使用连接的数据源来管理事务的作用域。
MANAGED - 这个类型什么不做 , 它从不提交 、 回滚和关闭连接 。 而是让窗口来管理事务的全部生命周期 。
(比如说 Spring 或者 JAVAEE 服务器) -->
<transactionManager type="JDBC"/>
<!-- 配置数据源
UNPOOLED :这个数据源实现只是在每次请求的时候简单的打开和关闭一个连接。
虽然这有点慢,但作为一些不需要性能和立即响应的简单应用来说 , 不失为一种好选择
不用连接池。
POOLED : 使用连接池管理connection对象
JNDI : 使用其他框架 如spring来管理连接
-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="sqlmap/User.xml"/>
<!-- mapper标签的属性
resource属性:映射文件的类路径
url属性: 映射文件的网络路径
class属性: mapper接口的类路径
使用class属性时mapper接口和mapper映射文件名称必须相同,而且在同一目录下
<mapper resource="mapper/UserMapper.xml"/>
<mapper class="com.neuedu.mybatis.mapper.UserMapper"/>
-->
<!-- 批量加载映射文件
使用package标签
name属性为:mapper接口所在包的名称
框架会自动加载该包下所有的xxxMapper.xml文件
前提:要遵循规范
mapper接口和mapper映射文件名称必须相同,而且在同一目录下
还有mapper接口定义的4个规范。
<package name="com.neuedu.mybatis.mapper"/>
-->
</mappers>
</configuration>
然后在测试类中测试
before注解 在test测试函数执行之前执行
查看数据库
刘备的 元素加了进来。
作者为初学,旨在分享与熟悉。如有错误或疑惑。欢迎指正,一起学习!