1.Mybatis
2.1导入jar包
<!--添加数据库驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--springBoot整合jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--springBoot整合mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
1.2编辑YML配置文件
1)关于URL说明
jdbc:mysql://127.0.0.1:3306/jtdb?
serverTimezone=GMT%2B8& (%2B=>+)设定时区
useUnicode=true&characterEncoding=utf8& 设定字符集编码格式
autoReconnect=true& 如果连接中断是否自动重连
allowMultiQueries=true 是否允许批量操作
2)YML文件配置
server:
port: 8090
servlet:
context-path: / #项目根目录发布
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
# Spring整合Mybatis配置
mybatis:
type-aliases-package: com.jt.pojo
mapper-locations: classpath:/mybatis/mappers/*.xml
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true
3)编辑Mapper.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace 唯一确定Mapper接口的 一定不能重复-->
<mapper namespace="com.jt.mapper.UserMapper">
<!--定义别名包 type-aliases-package: com.jt.pojo
在程序执行时,如果定义了别名包则会自动的拼接路径
resultType="com.jt.pojo.User"
规则: 1.如果根据别名找不到则根据自己的定义查询类型
-->
<select id="findAll" resultType="User">
select * from user
</select>
<!--
开启驼峰映射规则的说明
说明:属性user_id 根据驼峰命名规则应该叫userId
例子:
1.user表: user_id user_name user_age
2.User对象: userId, userName userAge 驼峰命名规则
只要开启驼峰映射规则,则Mybatis会自动的完成映射.
原理:
user_id(字段) ~~~去除中间的"_"线之后首字母大写 userId
将数据映射给属性userId(属性)
注意事项:一旦开启驼峰映射规则,则必须按照要求来写.
-->
</mapper>
驼峰命名规则
2.MybatisPlus
2.1ORM思想介绍
ORM思想:对象关系映射,数据之间的转换
核心:采用对象的方式操作数据库
思考:userMapper.insert(user对象) —剩余的入库sql由框架自动完成
2.2MybatisPlus介绍
mybatisPlus:是mybatis的增强版,在Mybatis的基础上只做增强不做改变,简化开发,提高效率而生。
2.3引入jar包
<!--SpringBoot整合MybatisPlus mybatis和plus jar包冲突的-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
2.4编辑POJO对象
2.5Mapper接口继承
2.6修改YML配置
server:
port: 8090
servlet:
context-path: / #项目根目录发布
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
# Spring整合Mybatis-plus配置
mybatis-plus:
type-aliases-package: com.jt.pojo
mapper-locations: classpath:/mybatis/mappers/*.xml
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true
MybatisPlus工作原理
ORM: 以对象的方式操作数据表
Sql:
- 数据库只能识别Sql语句. 不能识别对象
- 如果每天都写特别简单的Sql 没有任何价值.
核心原理:
- 利用注解去标识对象与表的映射关系 @TableName(“表名称”) 字段与属性的映射
- 将公共的接口方法进行抽取,抽取到公共接口中,如果需要使用只需继承即可. 注意事项:泛型问题
- 操作对象时需要有专门的API实现对象与Sql的转化.最终交给Mybatis去执行.
例子: userMapper.insert(user对象)
Sql : insert into 表名(字段1,字段2,字段3…) values(值1,值2,值3…)