MyBatisがどれだけ知っているか(19)MyBatis操作
14844 ワード
iBATISで実行されるCRUD(作成、書き込み、更新、削除)操作を使用するには、POJOクラスに対応するテーブルを作成する必要があります.このコースで説明するオブジェクトは、「モード」のデータベース・テーブルの行を示します.
POJOクラスは、必要な操作を実行するために必要なすべての方法を実現しなければならない.
MySQLの下にEMPLOYEテーブルがあります.
Employee POJOクラス:
私たちはEmployeeにいます.JAvaファイルには次のようにEmployeeクラスが作成されます.
テーブル内の各フィールドを設定する方法を定義できます.次の章では、各フィールドの値を取得する方法について説明します.
Employee.xmlファイル:
iBATIS SQLマッピング文の使用を定義するには、ラベルを使用します.このラベル定義では、IbatisInsertで使用することを定義します.JAvaファイルのデータベースはSQL INSERTクエリー「id」を実行します.
ここでparameterClass:文字列、整数、浮動小数点、double、または必要に応じて任意のクラスのオブジェクトとして値をとることができます.この例では,EmployeeオブジェクトをパラメータとしてSqlMapクラスのinsertメソッドを呼び出す.
データベーステーブルでIDENTITY、AUTO_を使用している場合INCREMENTまたはシリアル列または定義済みSEQUENCE/GENERATORは、要素を使用して、文でデータベースで生成された値を使用または戻すことができます.
IbatisInsert.JAvaファイル:
ファイルは、アプリケーション・レベルの論理をEmployeeテーブルにレコードを挿入します.
コンパイルと実行:
次に、上記のソフトウェアをコンパイルして実行する手順を示します.コンパイルと実行の前に、PATHとCLASSSPATHが適切に設定されていることを確認してください. Employeeを作成する.xmlは上記の通りです. Employeeを作成する.JAvaは上図のようにコンパイルされています. IbatisInsertを作成する.JAvaは上図のようにコンパイルされています. IbatisInsertバイナリファイルを実行してプログラムを実行します.
以下の結果が得られ、記録的なものはEMPLOYEテーブルに作成されます.
EMPLOYEテーブルを表示すると、次のような結果が得られます.
シリーズ記事:
MyBatisはどのくらい知っていますか(1)
MyBatisはどのくらい知っていますか(2)
MyBatisはどのくらい知っていますか(3)
MyBatisがどれだけ知っているか(4)MyBatisの強み
MyBatisが知っている(5)ビジネス・オブジェクト・モデル
MyBatisはどのくらい(6)表現層とビジネスロジック層を知っていますか
MyBatisはどのくらい(7)持続層を知っていますか
MyBatisが知っている(8)リレーショナル・データベース
MyBatisが知っている(9)異なるタイプのデータベース
MyBatisが知っている(10)アプリケーション・データベース
MyBatisが知っている(11)エンタープライズ・データベース
MyBatisが知っている(12)プライベート・データベース
MyBatisはどのくらい知っていますか(13)MyBatisはデータベースのよくある問題をどのように解決します
MyBatisはどのくらい(14)分散したデータベースシステムを知っていますか
MyBatisはどのくらい(15)データモデルを知っていますか
MyBatisがどれだけ知っているか(16)MyBatisマッピング
MyBatisは何を知っていますか(17)MyBatisとJDBC
MyBatisはどのくらい(18)MyBatisシステムを知っていますか
POJOクラスは、必要な操作を実行するために必要なすべての方法を実現しなければならない.
MySQLの下にEMPLOYEテーブルがあります.
1 CREATE TABLE EMPLOYEE (
2 id INT NOT NULL auto_increment,
3 first_name VARCHAR(20) default NULL,
4 last_name VARCHAR(20) default NULL,
5 salary INT default NULL,
6 PRIMARY KEY (id)
7 );
Employee POJOクラス:
私たちはEmployeeにいます.JAvaファイルには次のようにEmployeeクラスが作成されます.
1 public class Employee {
2 private int id;
3 private String first_name;
4 private String last_name;
5 private int salary;
6
7 /* Define constructors for the Employee class. */
8 public Employee() {}
9
10 public Employee(String fname, String lname, int salary) {
11 this.first_name = fname;
12 this.last_name = lname;
13 this.salary = salary;
14 }
15 } /* End of Employee */
テーブル内の各フィールドを設定する方法を定義できます.次の章では、各フィールドの値を取得する方法について説明します.
Employee.xmlファイル:
iBATIS SQLマッピング文の使用を定義するには、
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE sqlMap
3 PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
4 "http://ibatis.apache.org/dtd/sql-map-2.dtd">
5
6 <sqlMap namespace="Employee">
7 <insert id="insert" parameterClass="Employee">
8
9 insert into EMPLOYEE(first_name, last_name, salary)
10 values (#first_name#, #last_name#, #salary#)
11
12 <selectKey resultClass="int" keyProperty="id">
13 select last_insert_id() as id
14 </selectKey>
15
16 </insert>
17
18 </sqlMap>
ここでparameterClass:文字列、整数、浮動小数点、double、または必要に応じて任意のクラスのオブジェクトとして値をとることができます.この例では,EmployeeオブジェクトをパラメータとしてSqlMapクラスのinsertメソッドを呼び出す.
データベーステーブルでIDENTITY、AUTO_を使用している場合INCREMENTまたはシリアル列または定義済みSEQUENCE/GENERATORは、
IbatisInsert.JAvaファイル:
ファイルは、アプリケーション・レベルの論理をEmployeeテーブルにレコードを挿入します.
1 import com.ibatis.common.resources.Resources;
2 import com.ibatis.sqlmap.client.SqlMapClient;
3 import com.ibatis.sqlmap.client.SqlMapClientBuilder;
4 import java.io.*;
5 import java.sql.SQLException;
6 import java.util.*;
7
8 public class IbatisInsert{
9 public static void main(String[] args)
10 throws IOException,SQLException{
11 Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml");
12 SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);
13
14 /* This would insert one record in Employee table. */
15 System.out.println("Going to insert record.....");
16 Employee em = new Employee("Zara", "Ali", 5000);
17
18 smc.insert("Employee.insert", em);
19
20 System.out.println("Record Inserted Successfully ");
21
22 }
23 }
コンパイルと実行:
次に、上記のソフトウェアをコンパイルして実行する手順を示します.コンパイルと実行の前に、PATHとCLASSSPATHが適切に設定されていることを確認してください.
以下の結果が得られ、記録的なものはEMPLOYEテーブルに作成されます.
1 $java IbatisInsert
2 Going to insert record.....
3 Record Inserted Successfully
EMPLOYEテーブルを表示すると、次のような結果が得られます.
mysql> select * from EMPLOYEE;
+----+------------+-----------+--------+
| id | first_name | last_name | salary |
+----+------------+-----------+--------+
| 1 | Zara | Ali | 5000 |
+----+------------+-----------+--------+
1 row in set (0.00 sec)
シリーズ記事:
MyBatisはどのくらい知っていますか(1)
MyBatisはどのくらい知っていますか(2)
MyBatisはどのくらい知っていますか(3)
MyBatisがどれだけ知っているか(4)MyBatisの強み
MyBatisが知っている(5)ビジネス・オブジェクト・モデル
MyBatisはどのくらい(6)表現層とビジネスロジック層を知っていますか
MyBatisはどのくらい(7)持続層を知っていますか
MyBatisが知っている(8)リレーショナル・データベース
MyBatisが知っている(9)異なるタイプのデータベース
MyBatisが知っている(10)アプリケーション・データベース
MyBatisが知っている(11)エンタープライズ・データベース
MyBatisが知っている(12)プライベート・データベース
MyBatisはどのくらい知っていますか(13)MyBatisはデータベースのよくある問題をどのように解決します
MyBatisはどのくらい(14)分散したデータベースシステムを知っていますか
MyBatisはどのくらい(15)データモデルを知っていますか
MyBatisがどれだけ知っているか(16)MyBatisマッピング
MyBatisは何を知っていますか(17)MyBatisとJDBC
MyBatisはどのくらい(18)MyBatisシステムを知っていますか