Mybatis学习小结
一.Mybatis前提知识
1.什么是Mybatis?
优秀的持久层开源框架
MyBatis 是一个半自动化的ORM框架 (Object Relationship Mapping) -->对象关系映射
2.什么是持久化层?
负责持久化过程的相对独立的逻辑层面
3.什么是持久化?
将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中
JDBC就是一种持久化机制。文件IO也是一种持久化机制
实现持久化过程大多通过关系数据库来完成
4.Mybatis有什么作用?
避免几乎所有的jdbc代码与和手动参数设置及获取结果集
使用简单的xml配置或注释来配置和映射原生信息,将java实体类(pojo对象)映射成数据库中的记录
5.使用Mybatis有什么好处?
与传统jdbc相比,可以减少很多的重复代码
使用mybatis不会对程序结构设计和数据库设计产生干扰,sql写在xml文件里(支持动态编写sql),便于统一管理和优化
解耦,将业务逻辑和数据访问分离,使系统设计更加清晰,更易于维护
二.简单实现Mybatis
1.搭实验工程与建库
2.导入依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
3.写核心配置文件
在这里插入代码片<?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"/>
<!--log4j日志-->
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<!--以小写字母作为别名-->
<typeAliases>
<package name="pojo"/>
</typeAliases>
<!--核心配置-->
<!--环境配置,连接的数据库,这里使用的是MySQL-->
<environments default="mysql">
<environment id="mysql">
<!--指定事务管理的类型,这里简单使用Java的JDBC的提交和回滚设置-->
<transactionManager type="JDBC"></transactionManager>
<!--dataSource 指连接源配置,POOLED是JDBC连接对象的数据源连接池的实现-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</dataSource>
</environment>
</environments>
<!--配置Mapper文件-->
<!--<mappers>
<!–这是告诉Mybatis区哪找持久化类的映射文件,对于在src下的文件直接写文件名,
如果在某包下,则要写明路径,如:com/mybatistest/config/User.xml–>
<mapper class="dao.UserMapper"/>
</mappers>-->
<mappers>
<!--这是告诉Mybatis区哪找持久化类的映射文件,对于在src下的文件直接写文件名,
如果在某包下,则要写明路径,如:com/mybatistest/config/User.xml-->
<package name="dao"></package>
</mappers>
</configuration>
4.mybatis工具类
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org