SpringBoot & jpa &MySQL 零基礎小例子
阿新 • • 發佈:2021-01-14
專案結構
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"," [email protected]","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("[email protected]");
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.)
}
}