Pythonのは、Javaの基本的な構文を学習した後、以前に使用されていると、練習するだけで、プラットフォーム部門は春ブートフレームを使用して開発されたテストのPythonとの違いを味わうことができ、将来について学ぶ機会を取ることができませんでした。
目標に
まず、我々は達成したい春ブーツでこの経験で関数を定義します。
- Webインターフェイス
- データベースに書き込まれたデータ
私たちは、ほとんど、彼らが動作することでWeb開発で経験しているので理由は、両方です。
データベースを実現することができる書き込んだ後、他のチェック、変更、削除操作は似ています。
基本的な環境
ツール | 版 |
---|---|
アイディア | 2019.2 |
JDK | 11 |
MySQLの | 5.7 |
ここでは単に個人的な環境、非推奨の環境、環境矛盾がない大きな問題があります
春ブーツは、プラグインのインストール
Professional Editionには、プラグインなしのインストールが付属しています。
コミュニティ版は、IDEAプラグイン中央に設置された「春アシスタント」を検索する必要があります。
プロジェクトの構成
新プロジェクト
- プロジェクトの種類を選択し、「春Initializr」
- デフォルトを選択するには、対応するSDK、「InitializrサービスURL」を選択し、次のステップ
- プロジェクト名とその他の情報を入力します(私はデフォルトのままなので、プロジェクトがある
com.example.demo
)、私はビルド・ツールとしてのMavenに選びました - 選択は追加する必要が依存して、私たちはお勧めします:
- 開発者ツール:
- (自動的にサービスを再起動するようにコードを変更した後)春ブーツデベロッパーツール
- ロンボク(Javaが優れたライブラリを注釈、あなたが書き込みセッター/ゲッターコードなどを減らすことができます)
- ウェブ:
- 春のWebスターター(Springコンテナは、プロジェクトに必要なコンポーネントが含まれています)
- SQL:
- 春データJPA(JPA仕様では、ライブラリのデータを永続休止状態を使用して、従うこと)
- MySQLドライバ(データベース駆動型)
- 開発者ツール:
その上で成功した新しいプロジェクトを作成します。
pom.xml
使用するのでSpring Initializr
、プロジェクトを作成し、pom.xml
依存の座標を変更することなく、設定されています。
データベース構成を追加します
変更しsrc/main/resouces/application.properties
たファイルを、以下の内容を追加します。
# 数据库配置
# 数据库连接地址,jpa库需要提前创建好
spring.datasource.url=jdbc:mysql://localhost:3306/jpa?useSSL=false
# 数据库账号
spring.datasource.username=root
# 数据库密码
spring.datasource.password=123456
# 数据库驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# JPA 配置
# 自动处理对象关系映射,允许自动建表等操作
spring.jpa.hibernate.ddl-auto=update
# 是否在控制台显示数据库语句
spring.jpa.show-sql=true
复制代码
spring.jpa.hibernate.ddl-auto
構成は、次のオプションがあります。
- 検証:休止状態をロードすると、データベースのテーブル構造の検証を作成します
- あなたが休止状態をロードするたびに、データベースのテーブル構造を再作成:作成
- 休止状態をロードする際、テーブルを構築するために、:ドロップを作成し、あなたが終了すると、テーブル構造を削除
- 更新:Hibernateの負荷自動的にデータベースのテーブル構造を更新
コードの実装
データベース操作
Entityクラス
物理オブジェクトの記述であるエンティティ・クラス・コード。
エンティティ・クラス内のマッピング関係データベースのテーブルとフィールド(ORM)、エンティティ・クラス、データベースを変更して再検索操作を完了付加および欠失を操作しています。
一例として、「ブック」エンティティクラスを作成するために、我々は「t_book」という名前の手術台を期待していたとします。
// 标记此类为实体类
@Entity
// 设置操作的数据库表
@Table(name="t_book")
public class Book{
// 设置主键
@Id
// 字段值的生成策略,暂不展开说明,可以私下查一下
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
// 配置字段属性,可以不需要
@Column(length = 32)
private String name;
// 添加字段的 getter/setter 方法
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;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
复制代码
コードの長さのいくつかは、することができます
Lombok
簡素化を図ること。
*ロンボクコードを使用して簡素化
ロンボク島は長い注釈Javaコードを排除することで、開発者を助けることができるJavaユーティリティで次のように、私たちのエンティティクラスの効果上のアプリケーションは次のとおりです。
@Entity
@Table(name="t_book")
@Data
public class Book{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
}
复制代码
これは、使用中に見ることができるlombok
のData
コメント、私たちは多くが、フィールド記述する必要はありませんコード簡素化Getter/Setter
およびtoString
方法を、データベースのフィールド列を指定する必要はありませんが、唯一の主キー保つ@Id
ノートはすることができます。
DAOクラス
エンティティクラスBook
のみ確立オブジェクトリレーショナルマッピング、また、あなたは、(プロセスを簡素化する持続DAOクラスを作成する必要がありますsave
/ delete
など)。
import org.springframework.data.jpa.repository.JpaRepository;
public interface BookDao extends JpaRepository<Book, Integer> {
}
复制代码
この方法ではJpaRepository
、追加の書き込みの必要性を実現しています。
テストケース
テストデータを書き込むためのテストケースを作成します。
@RunWith(SpringRunner.class)
@SpringBootTest
public class BookTests {
@Autowired
public BookDao bookDao;
@Test
public void testBook() {
Book book = new Book();
book.setName("book1");
bookDao.save(book);
}
}
复制代码
データベースクエリによってテストケースt_book
の表は、データの一部を見ることができるが挿入されています。
Webインターフェイス
または最も単純な実装で開始から、受信書いて最初GET
のインタフェース要求をし、応答内容の「Hello、春Boogを!」を返します。
@RestController
@RequestMapping("/")
public class HelloController {
@RequestMapping("/hello")
public String index(){
return "Hello, Spring Boot!";
}
}
复制代码
右の実行プロジェクトDemoApplication
、訪問し始め0.0.0.0:8080/hello
ブラウザ出力に「Hello、春ブーツ!」、成功を作成するための最もシンプルなインターフェイスのいずれかを参照してください。
概要
Javaは面倒、複数文、構成、およびより印象になる前に。しかし、春ブーツの経験した後、プロジェクトを作成するには、いくつかの初期化プラグインの特に使用は、実際には、春ブーツが私たちのために生成した最も基本的なソースのフレームワークは良いですが、見つけましたが、いくつかのフレームワークやライブラリの使用を理解する必要があり、一般的なWeb開発することができます考え方は同じです。コードを学ぶために継続する事業の次の!