MyBatis のインストールと開始方法

この記事の一部は機械翻訳を使ってるよ

MyBatis シリーズ

インストールと開始方法: この記事
使い方: https://blog.yexca.net/ja/archives/216

MyBatis は JDBC 開発を簡素化する優れた永続層フレームワークです。

MySQL インストール (Windows)

ダウンロード: https://dev.mysql.com/downloads/mysql/

ZIP Archive をダウンロード

解凍し、環境変数 MYSQL_HOME PATH パス %MYSQL_HOME%\bin を設定します。

管理者権限で cmd を開き、mysql と入力して、設定が成功したかどうかを確認します。

MySQL を初期化する

コマンドを入力してください

mysqld --initialize-insecure

しばらく待つと、MySQL ディレクトリに data フォルダが生成されます。

MySQL サービスを登録する

コマンド

mysqld -install

MySQL サービスを開始する

コマンド

# mysqlサービスを開始する
net start mysql
# mysqlサービスを停止する
net stop mysql

root パスワードを変える

コマンド

mysqladmin -u root password 1234

ログインパラメータ

mysql -u ユーザー名 -p パスワード -h 接続するMySQLサーバーのIPアドレス (デフォルト127.0.0.1) -P ポート番号 (デフォルト 3306)
# 例えば
mysql -u root -p
# 実行後、パスワードの入力を求められます

入門例

まず、SpringBoot プロジェクトを作成し、依存関係「MyBatis Framework」と「MySQL Driver」を選択します。

  1. データベース
create database mybatis;

use mybatis;

create table user(
    id int unsigned primary key auto_increment comment 'ID',
    name varchar(100) comment '名前',
    age tinyint unsigned comment '年齢',
    gender tinyint unsigned comment '性別, 1:男, 2:女',
    phone varchar(11) comment '電話番号'
) comment 'ユーザーテーブル';

insert into user(id, name, age, gender, phone) VALUES (null,'白眉鹰王',55,'1','18800000000');
insert into user(id, name, age, gender, phone) VALUES (null,'金毛狮王',45,'1','18800000001');
insert into user(id, name, age, gender, phone) VALUES (null,'青翼蝠王',38,'1','18800000002');
insert into user(id, name, age, gender, phone) VALUES (null,'紫衫龙王',42,'2','18800000003');
insert into user(id, name, age, gender, phone) VALUES (null,'光明左使',37,'1','18800000004');
insert into user(id, name, age, gender, phone) VALUES (null,'光明右使',48,'1','18800000005');
  1. application.properties
# データベース接続情報を構成する

# ドライバークラス名
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# データベース接続URL
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
# データベースに接続するためのユーザー名
spring.datasource.username=root
# データベースに接続するためのパスワード
spring.datasource.password=1234
  1. User クラス
public class User {
    private Integer id;
    private String name;
    private short age;
    private short gender;
    private String phone;

    public User() {
    }

    public User(Integer id, String name, short age, short gender, String phone) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
    }

    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;
    }

    public short getAge() {
        return age;
    }

    public void setAge(short age) {
        this.age = age;
    }

    public short getGender() {
        return gender;
    }

    public void setGender(short gender) {
        this.gender = gender;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", gender=" + gender +
                ", phone='" + phone + '\'' +
                '}';
    }
}
  1. UserMapper インタフェース
@Mapper // 実行時に、インターフェースの実装クラスオブジェクト(プロキシオブジェクト)が自動的に生成され、管理のために IOC コンテナに引き渡されます。
public interface UserMapper {
    // ここではアノテーションを使用してSQL文を記述します
    @Select("select * from user")
    public List<User> list();
}
  1. テストクラス
@SpringBootTest
class MybatisStartApplicationTests {
    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
        List<User> list = userMapper.list();
        list.forEach(System.out::println);
    }

}

データベース接続プール

データベース接続プールは、データベース接続 (Connection) の割り当てと管理を担当するコンテナです。

これにより、アプリケーションは新しいデータベース接続を確立する代わりに、既存のデータベース接続を再利用できます。

アイドル時間が最大アイドル時間を超える接続を解放して、接続の解放の失敗によるデータベース接続の喪失を回避します。

利点: リソースの再利用とシステム応答速度の向上

公式標準インターフェース: DataSource

一般的な製品: Hikari (SpringBoot デフォルト)、Druid

Lombok

上記の例では、User クラスはいくつかの属性のみを定義していますが、多くのメソッドが必要なため、コードが肥大化しています。この目的には、Lombok を使用できます。

Lombok は、アノテーションを通じてコン​​ストラクター、getter/setter、equals、hashcode、toString などのメソッドを自動的に生成し、ログ変数を自動的に生成して Java 開発を簡素化し、効率を向上させる実用的な Java クラス ライブラリです。

注釈 効果
@Getter/@Setter すべてのプロパティに get/set メソッドを提供する
@ToString クラスの読みやすい toString メソッドを自動的に生成します
@EqualsAndHashCode クラスが所有する非静的フィールドに基づいて、equals メソッドと hashCode メソッドを自動的にオーバーライドします。
@Data より包括的なコード生成機能を提供します(@Getter+@Setter+@ToString +@EqualsAndHashCode)
@NoArgsConstructor エンティティクラスのパラメータなしのコンストラクタメソッドを生成する
@AllArgsConstructor static 変更フィールドに加えて、エンティティ クラスのパラメータを持つコンストラクタ メソッドを生成します。

Lombok の導入

依存関係を導入します。バージョン番号は不要で、SpringBoot によって設定されます。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

User クラス

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private Integer id;
    private String name;
    private short age;
    private short gender;
    private String phone;
}

Lombok はコンパイル時に対応する Java コードを自動的に生成します。Lombok を使用するにはプラグインをインストールする必要がありますが、IDEA ではデフォルトでインストールされています。

This post is licensed under CC BY-NC-SA 4.0 by the author.
最終更新 2025-02-05 16:35 +0900

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。