SpringBoot整合Mybatis

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:

  1. 数据库只能识别Sql语句. 不能识别对象
  2. 如果每天都写特别简单的Sql 没有任何价值.

核心原理:

  1. 利用注解去标识对象与表的映射关系 @TableName(“表名称”) 字段与属性的映射
  2. 将公共的接口方法进行抽取,抽取到公共接口中,如果需要使用只需继承即可. 注意事项:泛型问题
  3. 操作对象时需要有专门的API实现对象与Sql的转化.最终交给Mybatis去执行.
    例子: userMapper.insert(user对象)
    Sql : insert into 表名(字段1,字段2,字段3…) values(值1,值2,值3…)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值