本文将利用一个简单的登录评论功能,完整介绍mybatis框架的使用。
实现功能:对数据库的增删改查,多表查询,模糊查询,动态查询
本文使用环境/工具:
数据库:mysql 5.7
JDK:8
IDEA:2020.1
数据库可视化工具:Navicat(破解版已经上传至这个项目的github里面,需要的可以下载)
本文所有代码已经上传至github里面
https://github.com/index9-44/Mybatis
觉得还不错能不能给我点个star
目录:
1.什么是MyBatis?
MyBatis(前身是iBatis)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架。
MyBatis框架也被称之为ORM(Object/Relation Mapping,即对象关系映射)框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。
2.MyBatis的优点
1.基于SQL语法,简单易学。
2.能了解底层组装过程。
3.SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。
4.程序调试方便。
5.减少了61%的代码量
6.最简单的持久化框架
7.架构级性能增强
8.SQL代码从程序代码中彻底分离,可重用
9.增强了项目中的分工
10.增强了移植性
MyBatis特点就先介绍到这里,下面我们手把手教你如何使用MyBatis来搭建一个用户登录注册系统(含增删改查)
3.Mysql建表
我们先打开Navicat创建一个mybatis数据库,再创建一个user表设置主键uuid自动从1000开始递增,设置如下:
这里自增从100开始只是我设置的,你想从1,1000,10000000开始都没问题的。
全部字段如下
4.创建一个Mybatis项目
打开IDEA,需要设置如下内容,勾选右侧那些功能。
如果不会,可以创建一个简单的javaweb程序,然后在pom.xml里面导入如下依赖,上面的项目建设完毕,还需要检查一下是否导入下面最上面那三个依赖
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.14</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
application.properties配置文件如下,由于我用的是thymeleaf模板,所以有上面的代码,如果你不想用模板,可以删掉。
MySQL数据库连接配置需要根据你自己的数据库修改,比如数据库登录密码你需要修改,如果数据库名字跟我不一样,第一行的mybayis也需要修改为你的数据库名字
#模板缓存:开启
spring.thymeleaf.cache=false
#模板编码
spring.thymeleaf.encoding=UTF-8
#模板样式
spring.thymeleaf.mode=HTML5
#指定模板页面存放路径
spring.thym