Mybatis简介
是一款优秀的持久层框架,用于简化JDBC开发
持久层就是负责将数据保存到数据库的那一层代码
JavaEE三层结构:表现层,业务层,持久层
框架:
就是一个半成品软件,是一套可重用、通用的,软件基础代码模型
能使构建软件更加高效、规范、通用、可扩展
JDBC的缺点
1.硬编码:
-
注册驱动,获取连接
-
SQL语句
2.操作繁琐:
-
手动设置参数
-
手动封装结果集
MyBatis对于JDBC的简化
硬编码→配置文件
注册驱动:MyBatis-config.xml
SQL语句:UserMapper.xml中写SQL语句
操作繁琐→自动完成
MyBatis执行类里面调用sqlSession.xxx方法,给定参数就能查询出结果,然后自动封装为对应的对象,例如User
List<User> users = sqlSession.selectList("test.selectAll");
MyBatis快速入门
查询user表中所有数据步骤简介
- 创建user表,添加数据
- 创建模块,导入坐标
- 编写MyBatis核心配置文件- - - >替换连接信息,解决硬编码问题
- 编写SQL映射文件- - - >统一管理SQL语句,解决硬编码问题
- 编码:
-
定义POJO类 对应user表
-
加载核心配置文件,获取sqlSessionFactory对象
-
获取SqlSession对象执行Sql语句
-
释放资源
开始操作:
1.创建数据库并创建tb_user表
create database mybatis;
use mybatis;
drop table if exists tb_user;
create table tb_user(
id int primary key auto_increment,
username varchar(20),
password varchar(20),
gender char(1),
addr varchar(30)
);
INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京');
INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');
2.创建模块,导入坐标:
new Modules创建maven项目;
在pom.xml中导入坐标
<!--导入依赖-->
<dependencies>
<!--导入mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<!--导入数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<!--junit单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test<