Spring Boot統合JPAのコード例
本論文ではSprigBoot統合JPAの例示的なコードを紹介します。
1.新たなmavenプロジェクトを作成する
2.必要な依存性を追加する udate:Hibernateは与えられたEntity構造に基づいてデータベースを変更します。 create:毎回データベースを作成します。閉じる時は を削除しません。 none:mysqlのデフォルト設定は、データ構造を変更しない create-drop:データベースを作成しますが、session Factoryがオフになると は削除されます。
5.新規エンティティクラスUser
この時はすでにspringbootを起動してもいいですが、データテーブルはまだ設定されていません。
まず新しいuser.javaを作成します
6.CRUDを実現する
Crude Repositoryは、一般的な添削の方法を提供するインターフェースです。spring内部から提供されます。私達は呼び出しだけでいいです。
新しいUserController.java
1.新たなmavenプロジェクトを作成する
2.必要な依存性を追加する
<!--springboot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<!-- springmvc ,springboot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
3.新しいspringboot起動類
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
4.resourceとディレクトリの下に新しいappication.propertiesを作成します。
# /
spring.jpa.hibernate.ddl-auto=update
#
spring.datasource.url=jdbc:mysql://localhost:3306/qian?useUnicode=true&characterEncoding=utf-8
#
spring.datasource.username=root
#
spring.datasource.password=123
5.新規エンティティクラスUser
この時はすでにspringbootを起動してもいいですが、データテーブルはまだ設定されていません。
まず新しいuser.javaを作成します
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* Created by Andy on 2018/1/20.
*/
//
@Entity
public class User {
// id
@Id
// ,name ”system-uuid”, strategy ”uuid”。
@GenericGenerator(name = "system-uuid", strategy ="uuid")
// generator 。
@GeneratedValue(generator = "system-uuid")
private String id;
private String name;
private Integer age;
private Boolean sex;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getSex() {
return sex;
}
public void setSex(Boolean sex) {
this.sex = sex;
}
}
この時にプロジェクトを起動すると、指定された位置にuserデータテーブルが作成されます。6.CRUDを実現する
Crude Repositoryは、一般的な添削の方法を提供するインターフェースです。spring内部から提供されます。私達は呼び出しだけでいいです。
@NoRepositoryBean
public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
<S extends T> S save(S var1);
<S extends T> Iterable<S> save(Iterable<S> var1);
T findOne(ID var1);
boolean exists(ID var1);
Iterable<T> findAll();
Iterable<T> findAll(Iterable<ID> var1);
long count();
void delete(ID var1);
void delete(T var1);
void delete(Iterable<? extends T> var1);
void deleteAll();
}
新しいUserRepository.java
public interface UserRepository extends CrudRepository<User, String> {
}
7.controller制御を実現する新しいUserController.java
@RestController
public class UserController {
@Autowired
private UserRepository userRepository;
@RequestMapping("/add")
public User add(String name){
User user = new User();
user.setName(name);
return userRepository.save(user);
}
@RequestMapping("/list")
public Iterable<User> list(){
Iterable<User> all = userRepository.findAll();
return all;
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。