开始之前:
首先安装Mysql数据库,创建数据库并建表user如下,同时自行创建对应的VO:
DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',`avatar_id` bigint DEFAULT NULL COMMENT '头像',`email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '邮箱',`enabled` bigint DEFAULT NULL COMMENT '状态:1启用、0禁用',`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '密码',`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户名',`phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机号码',`create_time` datetime DEFAULT NULL COMMENT '创建日期',`last_password_reset_time` datetime DEFAULT NULL COMMENT '最后修改密码的日期',`nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,`sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE KEY `UK_kpubos9gc2cvtkb0thktkbkes` (`email`) USING BTREE,UNIQUE KEY `username` (`username`) USING BTREE,KEY `FKpq2dhypk2qgt68nauh2by22jb` (`avatar_id`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='系统用户';SET FOREIGN_KEY_CHECKS = 1;
添加依赖
Mysbatis需要以数据库驱动作为前提,因此,此处同时添加了Mysql驱动。
<!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency>
添加Dao接口
在启动类所在路径添加dao或mapper包用以存放Dao操作的接口。在该包中创建UserMapper.java接口,代码如下:
package online.yuluo.demo.mapper;@Repositorypublic interface UserMapper {// @Select("select * from user")List<User> queryUsers(User user);}
简析:
@Repository是@Component的子注解,能使该接口注册为Bean;- Mybatis也提供了注解来应对一些CURD操作,因此,
@Select注解可以取代第三步的XML配置操作,二选一即可。这里建议简单的操作可通过注解形式完成,复杂的操作还是使用XML配置来完成。
添加配置文件
在resource资源文件夹中创建mapper文件夹用以存放Mybatis对应的XML配置文件。
在mapper文件夹创建名为UserMapper.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"><mapper namespace="online.yuluo.demo.mapper.UserMapper"><select id="queryUsers"resultType="online.yuluo.demo.domain.User">SELECT * from user</select></mapper>
简析:
- 工作空间
namespace字段的值对应第二步中dao接口的相对路径; - 查询操作的ID名称对应接口中的方法名称;
- 返回值类字段型
resultType对应接口返回值类型对象的相对路径。
添加项目全局配置
在项目配置文件application.properties或application.yml中添加数据库连接信息及Mybatis映射信息:
spring:datasource:url: jdbc:mysql://localhost:3306/blog?useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false # 数据库URLusername: root # 数据库用户名password: ***** # 数据库密码driver-class-name: com.mysql.jdbc.Drivermybatis:mapper-locations: classpath:mapper/*.xml #Mybatis的XML配置文件地址type-aliases-package: online.yuluo.demo.domain #实体对象地址
注意 :
- MySQL6.0之后的连接驱动名称为
com.mysql.cj.jdbc.Driver - URL设置东八区:serverTimezone=Asia/Shanghai
#postgresqlspring:datasource:url: jdbc:postgresql://localhost:5432/postgres?useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false # 数据库URLusername: postgres # 数据库用户名password: 123456 # 数据库密码driver-class-name: org.postgresql.Driver
添加Mapper扫描
在项目启动文件中添加Mapper扫描注解帮助系统发现mapper文件:
@SpringBootApplication@MapperScan("online.yuluo.demo.mapper")public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}
