com.mysql.cj.jdbc.Driver
连接数据库的url中,加上allowPublicKeyRetrieval=true
mybatis-plus1
dependency hierarchy
测试类测试类
MapperScan
创建 dao
mybatis-plus 启动器
pom的内容
pom是怎么写的
Java8时间类
1、创建maven项目:(勾上create a simple project );
2、在pom.xml文件中引入依赖:项目上有报错:项目右键--maven--update project即可;
3、配置文件:在src/main/resources包下新建文件:application.yml,配置数据库及其他配置信息
4、创建启动类:
(1)在src/main/Java包下新建包com.mp-->mp包下创建Java类Starter.java(加上main方法)
(2)加注解:类上:@SpringBootApplication标识为spring boot的启动类
(3)main方法中编写:SpringApplication.run(启动类.class,args);
5、创建实体类:在com.mp包下新建一个包--->entity-->创建User的Java类;依次编写数据库中的字段-->在类上添加@Data注解,就可自动生成get()、set()方法
6、编写mapper类:在com.mp包下新建一个包--->dao-->UserMapper.java
该mapper类要继承MP的通用mapper--->BaseMapper类,<User>泛型。
在启动类Starter.java上添加@MapperScan("com.mp.dao"),指定需要扫描的Mapper包
7、编写测试类:src/test/java下新建包com.mp,然后创建测试类--->SimpleTest.java;
添加注解:@SpringBootTest标识该类可以基于springboot的测试
@RunWith(SpringRunner.class)代表他可以在springboot环境下运行Junit测试
添加@Aotuwired注解,注入userMapper类
写一个select()方法,添加@Test注解:
List<User> list = userMapper.selectList(null);
list.forEach(System.out::println);//迭代输出
一、建库建表
#创建数据库
create
table
user
( id
BIGINT
(20)
PRIMARY
key
not
null
comment
'主键'
,
name
varchar
(30)
default
null
comment
'姓名'
,
age
int
(11)
default
null
comment
'年龄'
,
email
varchar
(50)
default
null
comment
'邮箱'
,
manager_id
BIGINT
(20)
default
null
comment
'直属上级id'
,
create_time DATETIME
default
null
comment
'创建时间'
,
CONSTRAINT
manager_fk
foreign
key
(manager_id)
REFERENCES
user
(id)) ENGINE=INNODB CHARSET=UTF8;
#数据初始化
INSERT
INTO
user
(id,
name
,age,email,manager_id,create_time)
VALUES
(1087982257332887553,
'大boss'
, 40,
'boss@baomidou.com'
,
NULL
,
'2019-01-11 14:20:20'
),
(1088248166370832385,
'王天风'
,25,
'wtf@baomidou.com'
, 1087982257332887553,
'2019-02-05 11:12:22'
),
(1088250446457389058,
'李艺伟'
,28,
'lyw@baomidou.com'
, 1088248166370832385,
'2019-02-14 08:31:16'
),
(1094590409767661570,
'张雨琪'
,31,
'zyq@baomidou.com'
, 1088248166370832385,
'2019-01-14 09:15:15'
),
(1094592041087729666,
'刘红雨'
,32,
'lhm@baomidou.com'
, 1088248166370832385,
'2019-01-14 09:48:16'
);
二、引入依赖
1、建立maven项目(勾上create a simple project )
2、在pom中引入依赖
< parent > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-parent</ artifactId > < version >2.1.3.RELEASE</ version > </ parent > < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-test</ artifactId > < scope >test</ scope > </ dependency > <!-- Lombok --> < dependency > < groupId >org.projectlombok</ groupId > < artifactId >lombok</ artifactId > < optional >true</ optional > </ dependency > <!-- Mybatis-Plus启动器 --> < dependency > < groupId >com.baomidou</ groupId > < artifactId >mybatis-plus-boot-starter</ artifactId > < version >3.1.0</ version > </ dependency > <!-- Mysql JDBC 不用指定version,依赖的spring jdbc已指定 --> < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > </ dependency > </ dependencies > |
项目上有报错:项目右键--maven--update project即可
三、配置
resource包下创建file(名字为application.yml)
spring:
datasource:
driver-class-name:com.mysql.cj.jdbc.Driver
url:jdbc:mysql://localhost:3306/mp?useSSL=false&serverTimezone=GMT%2B8
username:root
password:root
四、编码
1、建启动类
java包下创建com.mp包-->mp包下创建Java类(加上main方法)
2、加注解
类上:@SpringBootApplication意思为spring boot的启动类
3、main方法中编写
SpringApplication.run(启动类.class,args);
4、创建实体类
在mp包下建立entity包-->创建User的Java类
依次编写数据库中的字段-->在类上添加@Data注解,就可自动生成get()、set()方法
5、com.mp.dao-->UserMapper.java
该mapper类要继承MP的BaseMapper类,<User>泛型。
在启动类上添加@MapperScan("com.mp.dao"),指定需要扫描的Mapper包
五、测试
test-->com.mp-->SimpleTest.java
该类添加@SpringBootTest注解和@RunWith(SpringRunner.class)
添加@Aotuwired注解,注入userMapper类
写一个select()方法,添加@Test注解:
List<User> list = userMapper.selectList(null);
list.forEach(System.out::println);//迭代输出
MP 快速入门
#创建数据库 #使用查看全文 create table user ( id BIGINT(20) PRIMARY key not null comment '主键', name varchar(30) default null comment '姓名', age int(11) default null comment '年龄', email varchar(50) default null comment '邮箱', manager_id BIGINT(20) default null comment '直属上级id', create_time DATETIME default null comment '创建时间', CONSTRAINT manager_fk foreign key (manager_id) REFERENCES user (id)) ENGINE=INNODB CHARSET=UTF8; #数据初始化 INSERT INTO user (id,name,age,email,manager_id,create_time) VALUES (1087982257332887553, '大boss', 40, 'boss@baomidou.com', NULL, '2019-01-11 14:20:20'), (1088248166370832385,'王天风',25,'wtf@baomidou.com', 1087982257332887553, '2019-02-05 11:12:22'), (1088250446457389058,'李艺伟',28,'lyw@baomidou.com', 1088248166370832385, '2019-02-14 08:31:16'), (1094590409767661570,'张雨琪',31,'zyq@baomidou.com', 1088248166370832385, '2019-01-14 09:15:15'), (1094592041087729666,'刘红雨',32,'lhm@baomidou.com', 1088248166370832385, '2019-01-14 09:48:16');
MySQL 字段使用 DATETIME 数据时,由于 DATETIME 不像 TIMESTAMP 那样自动支持时区转换,故需要手动添加 时区设置:serverTimezone=GMT%2B8
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
# 创建用户表 CREATE TABLE user ( id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键', name VARCHAR(30) DEFAULT NULL COMMENT '姓名', age INT(11) DEFAULT NULL COMMENT '年龄', email VARCHAR(50) DEFAULT NULL COMMENT '邮箱', manager_id BIGINT(20) DEFAULT NULL COMMENT '直属上级id', create_time DATETIME DEFAULT NULL COMMENT '创建时间', CONSTRAINT manager_fk FOREIGN KEY (manager_id) REFERENCES user(id)) ENGINE = INNODB CHARSET=UTF8; # 初始化数据 INSERT INTO user(id,name,age,email,manager_id,create_time) VALUES(1087982257332887553,'大boss',40,'boss@baomidou.com',NULL,'2019-01-11 14:20:20'), (1088248166370832385,'王天风',25,'wtf@baomidou.com',1087982257332887553,'2019-02-05 11:12:22'), (1088250446457389058,'李艺伟',28,'lyw@baomidou.com',1088248166370832385,'2019-02-14 08:31:16'), (1094590409767661570,'张雨琪',31,'zjq@baomidou.com',1088248166370832385,'2019-01-14 09:15:15'), (1094592041087729666,'刘红雨',32,'lhm@baomidou.com',1088248166370832385,'2019-01-14 09:48:16');
pom.xml内容
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> <scope>test</scope> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- Mybatis-Plus启动器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency> <!-- Mysql JDBC 不用指定version,依赖的spring jdbc已指定 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies>
application.yml配置文件内容
spring: datasource: driver-class-name:com.mysql.cj.jdbc.Driver url:jdbc:mysql://localhost:3306/mp?useSSL=false&serverTimezone=GMT%2B8 username:root password:root