MyBatis でデータベース接続を構成する方法を分析する

WBOY
リリース: 2024-02-19 15:03:22
オリジナル
1200 人が閲覧しました

MyBatis でデータベース接続を構成する方法を分析する

MyBatis がデータベース接続を構成する手順の詳細な説明には、特定のコード例が必要です。

MyBatis は、Java 開発で広く使用されている、人気のあるオープン ソースの永続層フレームワークです。データベース操作に MyBatis を使用する場合は、まずデータベース接続を構成する必要があります。この記事では、MyBatis データベース接続の設定方法を詳しく紹介し、具体的なコード例を添付します。

1. 依存関係を追加します

まず、MyBatis の依存関係をプロジェクトに追加します。次のコンテンツをプロジェクトの pom.xml ファイルに追加できます。

<dependencies>
    <!-- MyBatis依赖 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <!-- 数据库驱动依赖,根据你使用的数据库类型选择对应的驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>
ログイン後にコピー

ここでは、MySQL の公式ドライバー mysql-connector-java を使用して、MySQL データベースを例として取り上げます。

2. データベースの作成

MyBatis を設定する前に、対応するデータベースとテーブルを作成する必要があります。 MySQL コマンド ラインまたはビジュアル ツールを使用してデータベースを作成できます (例:

CREATE DATABASE mybatis_demo;

USE mybatis_demo;

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT
);
ログイン後にコピー

3. MyBatis の構成

mybatis-config.xml という名前のファイルを作成します)プロジェクト構成ファイル内。データベース接続の構成に使用されます。通常、このファイルはプロジェクトの src/main/resources ディレクトリにあります。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 数据库连接配置 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <!-- 数据库驱动类名 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver" />
                <!-- 数据库连接URL -->
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8" />
                <!-- 数据库用户名 -->
                <property name="username" value="root" />
                <!-- 数据库密码 -->
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <!-- 映射器配置,用于定义SQL语句和Java类之间的映射关系 -->
    <mappers>
        <!-- 可以配置多个映射器,这里以Mapper接口为例 -->
        <mapper resource="com/example/mapper/UserMapper.xml" />
    </mappers>
</configuration>
ログイン後にコピー

構成内の <environment> タグは、データベース接続環境を指定するために使用されます。複数のデータベース接続環境を構成できます。デフォルトの development 環境は次のとおりです。ここで使用されます。 <dataSource> タグでは、POOLED タイプのデータ ソースが使用され、データベース接続の管理に接続プールが使用されることを示します。

4. マッパー インターフェイスの作成

マッピング関係を定義するため、com.example.mapper パッケージの下に UserMapper.java という名前のインターフェイス ファイルを作成します。 SQL ステートメントと Java クラスの間。

public interface UserMapper {
    // 查询所有用户
    List<User> getAllUsers();
    // 根据ID查询用户
    User getUserById(int id);
    // 插入用户
    void insertUser(User user);
    // 更新用户
    void updateUser(User user);
    // 删除用户
    void deleteUser(int id);
}
ログイン後にコピー

いくつかの一般的なデータベース操作メソッドがこのインターフェイスで定義されており、実際のニーズに応じて拡張できます。

5. マッパー XML ファイルの作成

com.example.mapper パッケージの下に UserMapper.xml という名前の XML ファイルを作成します。 SQL ステートメントとマッピング ルールを作成します。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <!-- 查询所有用户 -->
    <select id="getAllUsers" resultType="com.example.model.User">
        SELECT * FROM user
    </select>
    <!-- 根据ID查询用户 -->
    <select id="getUserById" parameterType="int" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <!-- 插入用户 -->
    <insert id="insertUser" parameterType="com.example.model.User">
        INSERT INTO user (name, age) VALUES (#{name}, #{age})
    </insert>
    <!-- 更新用户 -->
    <update id="updateUser" parameterType="com.example.model.User">
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>
    <!-- 删除用户 -->
    <delete id="deleteUser" parameterType="int">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>
ログイン後にコピー

この XML ファイルでは、namespace 属性を使用して、Mapper インターフェイスの完全修飾名を指定します。Mapper インターフェイスと XML ファイルが異なるパッケージにある場合は、正しく構成する必要があります。 名前空間

6. データベース操作に MyBatis を使用する

Java コードでデータベース操作に MyBatis を使用するには、まず SqlSessionFactory オブジェクトを作成し、次に SqlSession オブジェクトを通じて、#SqlSession オブジェクトを使用してデータベース操作を実行します。

public class App {
    public static void main(String[] args) {
        // 创建MyBatis配置文件的输入流
        InputStream inputStream = App.class.getResourceAsStream("/mybatis-config.xml");
        // 创建SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 创建SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();

        try {
            // 获取UserMapper对象
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            // 调用数据库操作方法
            List<User> users = userMapper.getAllUsers();
            System.out.println(users);
        } finally {
            // 关闭SqlSession
            sqlSession.close();
        }
    }
}
ログイン後にコピー
上記のコード例では、MyBatis 構成ファイルの入力ストリームが

getResourceAsStream メソッドを通じて取得され、SqlSessionFactory オブジェクトが作成されます。次に、openSession メソッドを通じて SqlSession オブジェクトが作成され、UserMapper.classgetMapper メソッドとプロキシ オブジェクトに渡されます。が返されます。このオブジェクトを通じて、UserMapper インターフェイスで定義されたメソッドを呼び出すことができます。

これまで、MyBatis でデータベース接続を構成する手順を詳細に紹介し、具体的なコード例を添付しました。この記事が MyBatis の理解と使用に役立つことを願っています。

以上がMyBatis でデータベース接続を構成する方法を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!