springboot-Mybatis基础查询
1.创建数据库
使用mysql-8.0.11版本的数据库,运行CREATE DATABASE 数据库名
创建数据库用于测试,这里我取名为TEST_MS
,然后创建数据表,这里假设我们要对用户进行分页查询。
USE TEST_MS;
CREATE TABLE USER(
ID INT PRIMARY KEY AUTO_INCREMENT,
USERNAME VARCHAR(30) NOT NULL UNIQUE,
PASSWORD VARCHAR(100) NOT NULL,
U_NAME VARCHAR(30) NOT NULL,
PHONE VARCHAR(11),
EMAIL VARCHAR(50),
CITY_ID INT,
CITY_NAME VARCHAR(15),
PROVIENCE_ID INT,
PROVIENCE_NAME VARCHAR(10),
ADDRESS VARCHAR(30),
PHOTO VARCHAR(30),
BIRTHDAY DATE,
ORGANIZATION_ID INT,
ROLE_ID INT
);
2.springboot引入mybatis
创建一个maven项目,引入springboot
和springboot-mybatis
依赖。
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
</dependencies>
添加springboot配置文件,这里为了简单,不使用连接池。
application.yml
server:
port: 8001
spring:
application:
name: user-service
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/TEST_MS?serverTimezone=UTC
username: 用户名
password: 密码
mybatis:
typeAliasesPackage: com.feng.entity
mapperLocations: classpath:mybatis-mapper/*.xml
其中typeAliasesPackage
指定用于映射数据的pojo位置,mapperLocations
用于指定映射dao层的mapper文件,如果使用全注解方式开发的话可以省略。
3.编写查询映射
先创建一个用于映射数据的pojo:User.java
package com.feng.entity;
import javax.validation.constraints.NotBlank;
/**
* Created by Feng
*/
public class User {
private Integer id;
@NotBlank(message = "用户名不能为空")
private String userName;
@NotBlank(message = "密码不能为空")
private String passWord;
private String uName;
private String phone;
private String email;
private String cityID;
private String cityName;
private String provienceID;
private String provienceName;
private String address;
private String organizationID;
private String roleID;
private String photo;
private String birthday;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getuName() {
return uName;
}
public void setuName(String uName) {
this.uName = uName;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getCityID() {
return cityID;
}
public void setCityID(String cityID) {
this.cityID = cityID;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public String getProvienceID() {
return provienceID;
}
public void setProvienceID(String provienceID) {
this.provienceID = provienceID;
}
public