项目结构
create database if not exists DBtest;
use DBtest;
create table user(
id int primary key auto_increment,
name varchar(50),
email varchar(50),
version varchar(50),
sex varchar(50),
adress varchar(50)
);
insert into user values("0","nanwu","1762126917@163.com","v_1","woman","changde");
select * from user;
package com.example.jpa3;
import com.example.jpa3.UserEntity;
import com.example.jpa3.UserRepository;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.awt.*;
@RestController
@RequestMapping(path = "/api/v1")
public class UserController {
@Autowired
private UserRepository userRepository;
@PostMapping(path = "userEntity",consumes = {MediaType.APPLICATION_JSON_VALUE})
public UserEntity addNewUser(@RequestBody UserEntity userEntity){
return userRepository.save(userEntity);
}
}
package com.example.jpa3;
import lombok.Data;
import javax.persistence.*;
import java.util.Objects;
@Entity
@Table(name = "user", schema = "DBtest", catalog = "")
public class UserEntity {
private int id;
private String name;
private String email;
private String version;
private String sex;
private String adress;
@Id
@Column(name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Basic
@Column(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Basic
@Column(name = "email")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Basic
@Column(name = "version")
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
@Basic
@Column(name = "sex")
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Basic
@Column(name = "adress")
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UserEntity that = (UserEntity) o;
return id == that.id &&
Objects.equals(name, that.name) &&
Objects.equals(email, that.email) &&
Objects.equals(version, that.version) &&
Objects.equals(sex, that.sex) &&
Objects.equals(adress, that.adress);
}
@Override
public int hashCode() {
return Objects.hash(id, name, email, version, sex, adress);
}
}
package com.example.jpa3;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<UserEntity,Long> {
}
application.properties
spring.datasource.url = jdbc:mysql://localhost:3306/DBtest?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 126129wunan
spring.datasource.driverClassName = com.mysql.jdbc.Driver
########################################################
### Java Persistence Api -- Spring jpa configuration.
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update, validate, none)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
package com.example.jpa3;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Jpa3ApplicationTests {
@Test
void contextLoads() {
}
}
package com.example.jpa3;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
@SpringBootTest(classes = Jpa3Application.class)
@RunWith(SpringRunner.class)
public class UserRepositoryTest{
@Autowired
private UserRepository userRepository;
@Test
public void testSaveUser(){
UserEntity userEntity=new UserEntity();
userEntity.setAdress("changde2");
userEntity.setEmail("123@163.com");
userEntity.setName("huahua");
userEntity.setSex("woman");
userEntity.setVersion("v_2");
UserEntity userEntity1=userRepository.save(userEntity);
List<UserEntity> Users=userRepository.findAll();
System.out.println(Users);
Assert.assertNotNull(Users);
//userRepository.save(UserEntity.)
}
}