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(); } } }
getResourceAsStream メソッドを通じて取得され、
SqlSessionFactory オブジェクトが作成されます。次に、
openSession メソッドを通じて
SqlSession オブジェクトが作成され、
UserMapper.class が
getMapper メソッドとプロキシ オブジェクトに渡されます。が返されます。このオブジェクトを通じて、
UserMapper インターフェイスで定義されたメソッドを呼び出すことができます。
以上がMyBatis でデータベース接続を構成する方法を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

SQL ServerでSQLステートメントを使用してテーブルを作成する方法:SQL Server Management Studioを開き、データベースサーバーに接続します。データベースを選択してテーブルを作成します。作成テーブルステートメントを入力して、テーブル名、列名、データ型、制約を指定します。 [実行]ボタンをクリックしてテーブルを作成します。

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

MySQLは、複数の同時接続を処理し、マルチスレッド/マルチプロセスを使用して、各クライアントのリクエストに独立した実行環境を割り当てて、邪魔されないことを確認できます。ただし、同時接続の数は、システムリソース、MySQL構成、クエリパフォーマンス、ストレージエンジン、ネットワーク環境の影響を受けます。最適化では、コードレベル(効率的なSQLの書き込み)、構成レベル(MAX_Connectionの調整)、ハードウェアレベル(サーバー構成の改善)などの多くの要因を考慮する必要があります。

SQLインジェクションを判断する方法には、疑わしい入力の検出、元のSQLステートメントの表示、検出ツールの使用、データベースログの表示、および浸透テストの実行が含まれます。注入が検出された後、脆弱性のパッチを適用し、パッチを確認し、定期的に監視し、開発者の意識を向上させるための措置を講じます。

postgreSQL列を追加するメソッドは、TableコマンドをAlter Tableコマンドを使用し、次の詳細を検討することです。データタイプ:INTやVarCharなどのデータを保存する新しい列に適したタイプを選択します。デフォルト:nullの値を回避するデフォルトキーワードを介して、新しい列のデフォルト値を指定します。制約:必要に応じて、null、一意、または制約を確認しないでください。並行操作:トランザクションまたはその他の同時制御メカニズムを使用して、列を追加するときにロック競合を処理します。

MySQLは、共有ロックと排他的ロックを使用して並行性を管理し、テーブルロック、ロウロック、ページロックの3つのロックタイプを提供します。 Row Locksは並行性を向上させ、for Updateステートメントを使用して排他的なロックを行に追加します。悲観的なロックは競合を想定し、楽観的なロックはバージョン番号を介してデータを判断します。一般的なロックテーブルの問題は、スロークエリとしてマニフェストします。ShowProcessListコマンドを使用して、ロックが保持しているクエリを表示します。最適化測定には、適切なインデックスの選択、トランザクションスコープの削減、バッチ操作、およびSQLステートメントの最適化が含まれます。
