1 创建项目
选择Spring Web
选择Spring Data JPA,Spring Data JDBC, MySQL Driver
2 修改配置
server:
port: 8086
spring:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?useSSL=false&useUnicode=true&characterEncoding=utf8
username: root
password: 123456
jpa:
hibernate:
ddl-auto: update
show-sql: true
3 编写数据表对应的实体类(点击跳转sql转java类工具)
例子:
CREATE TABLE `t_user` (
`id` bigint(20) unsigned NOT NULL,
`create_by` varchar(255) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(255) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`address` varchar(255) DEFAULT NULL,
`avatar` varchar(255) DEFAULT NULL,
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`mobile` varchar(255) DEFAULT NULL,
`nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`sex` varchar(255) DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`type` int(11) DEFAULT NULL,
`username` varchar(255) DEFAULT NULL,
`del_flag` tinyint(1) DEFAULT NULL,
`department_id` bigint(20) unsigned DEFAULT NULL,
`street` varchar(255) DEFAULT NULL,
`pass_strength` varchar(2) DEFAULT NULL,
`department_title` varchar(255) DEFAULT NULL,
`birth` datetime(6) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`) USING BTREE,
UNIQUE KEY `email` (`email`) USING BTREE,
UNIQUE KEY `mobile` (`mobile`) USING BTREE,
KEY `create_time` (`create_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
实例类entity/User
package com.gauzz.lession7.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import javax.persistence.*;
/**
* Auto-generated: 2020-11-07 10:55:46
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
@JsonIgnoreProperties(value = {"hibernateLazyInitializer"}) //必须加上,否则json遇到空的转换错误
@Entity
@Table(name = "t_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //主键自增
private String id;
@Column
private String create_by;
@Column
private String create_time;
@Column
private String update_by;
@Column
private String update_time;
@Column
private String address;
@Column
private String avatar;
@Column
private String description;
@Column
private String email;
@Column
private String mobile;
@Column
private String nickname;
@Column
private String password;
@Column
private String sex;
@Column
private String status;
@Column
private String type;
@Column
private String username;
@Column
private String del_flag;
@Column
private String department_id;
@Column
private String street;
@Column
private String pass_strength;
@Column
private String department_title;
@Column
private String birth;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setCreate_by(String create_by) {
this.create_by = create_by;
}
public String getCreate_by() {
return create_by;
}
public void setCreate_time(String create_time) {
this.create_time = create_time;
}
public String getCreate_time() {
return create_time;
}
public void setUpdate_by(String update_by) {
this.update_by = update_by;
}
public String getUpdate_by() {
return update_by;
}
public void setUpdate_time(String update_time) {
this.update_time = update_time;
}
public String getUpdate_time() {
return update_time;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getAvatar() {
return avatar;
}
public void setDescription(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getMobile() {
return mobile;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getNickname() {
return nickname;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public void setType(String type) {
this.type = type;
}
public String getType() {
return type;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setDel_flag(String del_flag) {
this.del_flag = del_flag;
}
public String getDel_flag() {
return del_flag;
}
public void setDepartment_id(String department_id) {
this.department_id = department_id;
}
public String getDepartment_id() {
return department_id;
}
public void setStreet(String street) {
this.street = street;
}
public String getStreet() {
return street;
}
public void setPass_strength(String pass_strength) {
this.pass_strength = pass_strength;
}
public String getPass_strength() {
return pass_strength;
}
public void setDepartment_title(String department_title) {
this.department_title = department_title;
}
public String getDepartment_title() {
return department_title;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String getBirth() {
return birth;
}
}
编写Dao数据接口类
package com.gauzz.lession7.respository;
import com.gauzz.lession7.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User,Integer> {
}
编写Controller类
package com.gauzz.lession7.controller;
import com.gauzz.lession7.entity.User;
import com.gauzz.lession7.respository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class UserController {
@Autowired
JdbcTemplate jdbcTemplate;
@Autowired
UserRepository userRepository;
@ResponseBody
@GetMapping("/user/{id}")
public User address(@PathVariable("id") Integer id){
User user = userRepository.getOne(id);
return user;
}
@ResponseBody
@PostMapping("/user")
public User addAddress(User user){
User u = userRepository.save(user);
return u;
}
}
4 测试