环境:
- JDK1.8
- Mysql 5.7
- maven 3.6.1
- IDEA
回顾:
JDBC
Mysql
Java基础
Maven
Junit
SSM框架:配置文件的,最好方式 – 查看官方文档
1.简介
1.1 什么是Mybatis
- MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
如何获得Mybatis?
maven仓库
1
2
3
4
5
6<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
1.2持久化
数据持久化
持久化就是将程序的数据在瞬时状态和持久状态转化的过程
内存:断电即失
数据库(JDBC), io文件持久化
生活:冷藏,罐头(用的时候再拿)
为什么要持久化?
有一些对象不能让他丢掉
内存太贵了
1.3持久层
Dao层,Service层, Controller层….
完成持久化工作的代码块
层界限十分明显
1.4为什么需要Mybatis
- 帮助程序员将数据存入到数据库中
- 方便
- 传统的JDBC代码太复杂,简化,框架,自动化
- 不用Mybatis也可以,更容易上手。技术没有高低之分。
- 优点
- 简单易学
- 灵活
- sql和代码分离,提高可维护性
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持动态编写sql
最重要一点: 使用的人多!
学习路线:Mybatis > Spring > SpringMVC > SpringBoot
2.第一个Mybatis程序
思路:搭建环境–>导入Mybatis–>编写代码–>测试
2.1搭建环境
搭建数据库
1 | CREATE DATABASE mybatis; |
新建项目
1.新建一个普通的Maven项目
2.删除src目录
3.导入maven依赖
1 | <!-- 导入依赖--> |
2.2创建一个模块
- 编写mybatis的核心配置文件
1 | <!--configuration核心配置文件--> |
- 编写mybatis工具类
IDEA自动补全返回值类型及变量快捷键 ctrl+alt+v
1 | import org.apache.ibatis.io.Resources; |
2.3编写代码
- 实体类
1 | //实体类 |
- Dao接口
1 | public interface UserDao { |
接口实现类由原来的UserDaoImpl转变为一个Mapper配置文件
ps:不能出现 中文注解 不然会蜜汁报错!!!!!!!!!!!!
1 |
|
2.4 测试
MapperRegistry是什么?
核心配置文件中注册mappers
- junit测试
1 | package com.pcx.dao; |
可能会遇到问题:
- 配置文件没有注册
- 绑定接口错误
- 方法名不对
- 返回类型不对
3.CRUD
1.namespace
namespace中的包名要和Dao/mapper接口保持一致
2.select
选择,查询语句;
- id:就是对应的namespace中的方法名;
- resultType: Sql语句执行的返回值
1.编写接口
2.编写对应mapper中的sql语句
3.测试
3.Insert
1 | <insert id="addUser" parameterType="com.pcx.pojo.User"> |
4.update
1 | <update id="updateuser" parameterType="com.pcx.pojo.User"> |
5.delete
1 | <delete id="deleteUser" parameterType="int"> |
注意增删改需要提交事物