春ブーツ+ MySQLの+春データJPAウェブデモ

1.概要

ただ最近学習。これはmysq +休止+ TomcatのデモでWebプロジェクトの簡単な例で使用スプリングブーツなので、これに基づいて、自分のプロジェクトに展開するのは簡単です。

最初の春のデモを作成します。2.

著者は、春Initalizerを選択し、新しいプロジェクトを作成し、IDEがIDEAで使用。
ここに画像を挿入説明
上記の必要性の作者がサーバーにデプロイされるよう次のステップは、その後、戦争を選択します。必要な場合、あなたはjarファイルを選択することができないようにしてください。
ここに画像を挿入説明
春のWeb +春データJPA + MySQLの選択ドライバを。
ここに画像を挿入説明

ここに画像を挿入説明

ここに画像を挿入説明
最初の実行構成は、もうしばらくお待ちください少し時間がかかる依存しているなら、あなたは、完了することができます。

コンフィギュレーション・データ・ソース

コンフィギュレーションデータソースは、2つの部分に分割されるテーブルを構築するためにユーザを使用して構築され、他の部分はapplication.propertiesに配置されています。

(1)データベースの構築

create database test;

Hibernateは自動的にエンティティクラスと同じ名前のテーブルを作成するため、テーブルを作成しないでください。

(2)ビルドユーザー

create user 'db'@'%' identified by 'xxxxx';

(3)ユーザ認可

grant all on test.* to 'db'@'%';

休止状態の後ろにビルドテーブル機関に使用されるためだけ変更して再検索への追加や削除を許可していない、すべての権限を与えていることをお勧めします。

(4)が配置application.properties

設定の4つのプロパティ:

spring.jpa.hibernate.ddl-auto=
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=

最初のプロパティの値です

  • なし
  • 更新
  • 作ります
  • 作成ドロップを

a.none

どれも、データベースの構造を変更することはありませんMySQLのデフォルトではありません。

b.update

Hibernateは与えられたエンティティクラスに応じてデータベースを変更します。

c.create

データベースを作成し、それを閉じたときに削除されません。

d.createドロップ

SessionFactoryのが閉じているときにデータベースを削除し、データベースを作成します。これは、H2および他の組み込みデータベースのデフォルトのオプションです。

最初の実行は、更新に設定または作成、エンティティのタイプを正確に知っていないので、最初の実行後、更新またはnoneに設定することができますする必要があります。
のUrlそれはMySQLのであれば

jdbc:mysql://ip:3306/database

剩下的两个为用户名与密码.
以下是作者的配置,供参考:
ここに画像を挿入説明

4.创建实体类

这里创建一个简单的User实体类,需要用到javax中的Entity,Id,GeneratedValue与GenerationType注解.
Entity用于标识实体类,Id用于标识主键,GeneratedValue与GenerationType用于配置主键.

package com.test;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

除了主键之外,可以加上自己想要的属性,还有setter与getter,Hibernate会自动将实体类制作成一个数据表.

5.创建Repository

创建仓库保存用户记录.需要继承CrudRepository<T,ID>,第一个类型为实体类,第二个类型为主键类型.

package com.test;

import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User,Integer>
{
}

6.创建控制器

控制器用于控制Http请求,在控制器中可以配置不同的路径实现不同的操作.

package com.test;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
@RequestMapping(path = "/demo")
public class MainController {
    @Autowired
    private UserRepository userRepository;
    
    @PostMapping(path = "/add")
    public @ResponseBody String addNewUser(@RequestParam String name)
    {
        User user = new User();
        user.setName(name);
        userRepository.save(user);
        return "Saved.";
    }
    
    @GetMapping(path = "/all")
    public @ResponseBody Iterable<User> getAllUsers()
    {
        return userRepository.findAll();
    }
}

@RequestMapping中的值表示url以此值开头.

@PostMapping是仅处理post请求的路径.

@ResponseBody表示返回的类型.

@RequestParam表示一个从get或post中获取的参数.
getAllUsers()会返回一个json或者xml.

7.IDE上测试

首先输入

localhost:8080/demo/all

由于作者先前已经有一行数据所以有显示.
ここに画像を挿入説明
否则的话应该显示为[]
接下来可以添加数据:

curl localhost:8080/demo/add -d name=123

回应:
ここに画像を挿入説明
接下来可以选择再次查看:
ここに画像を挿入説明
在看看数据库:
ここに画像を挿入説明

8.打包发布

ビルド- >ビルドアーティファクト。
ここに画像を挿入説明
ここに画像を挿入説明
ビルドをすることができます。
そして、プロジェクトのターゲットディレクトリにあるテスト-0.0.1-XXX warファイルがあるでしょう、これは。ある
ここに画像を挿入説明
Tomcatのwebappsに/下に名前を変更し、このように変更著者としてdemo.war:
ここに画像を挿入説明
あなたは、パスに注意し、訪問を行くことができ、ここでのパスは、パスプラス@RequestMappingプラス@PostMappingでの戦争や@GetMappingパスのパスです:
ここに画像を挿入説明
完全な!

9.完全なコード

おすすめ

転載: www.cnblogs.com/Blueeeeeeee/p/11932909.html