MyBatisの挿入データの簡単なインスタンスを作成します
1.データベーステーブルビルディングDOB =生年月日の意味
テーブルの学生を作成します(STUD_ID番号プライマリキー、名前VARCHAR2(20)、電子メールvarchar2(20)、dob date);
Oracleデータベースで作成されたテーブルは、作成が成功することを意味します。名前が使用されている場合は、テーブルを作成する前に削除できます。テーブルの生徒をドロップします。または、カスケード削除ドロップテーブルの学生の制約を削除します。そして再びそれを再作成します。
2新しいプロジェクトを作成します
2.1対応するパッケージとクラスを作成します。ここで、学生は挿入するオブジェクトです。データ型はデータベース内の値に対応するため、オブジェクト全体を挿入できます。したがって、Pojoクラスを使用してオブジェクトをカプセル化します。
パッケージcom.mybatis.pojo; Import Java.util.date;パブリッククラスの学生{private Integer Studid;プライベート文字列名;プライベート文字列メール;プライベートデートDOB; public Student(){} //パラメーターのないコンストラクターに注意してくださいパブリックスチューデント(整数Studid、文字列名、文字列email、dob){this.studid = sudid; this.name = name; this.email = email; this.dob = dob; } public Integer getStudid(){return Studid; } public void setStudid(integer studid){this.studid = sudid; } public string getname(){return name; } public void setName(string name){this.name = name; } public string getemail(){return email; } public void setemail(string email){this.email = email; } public date getDob(){return dob; } public void setdob(date dob){this.dob = dob; } @Override public string toString(){return "sudent [sudid =" + sudid + "、name =" + name + "、email =" + email + "、dob =" + dob + "]"; }}3.プロジェクトにMyBatisコアパッケージとオプションの依存関係パッケージを紹介します
ファイルのダウンロード:MyBatisパッケージのダウンロード
最新バージョンのダウンロード:https://github.com/mybatis/mybatis-3/releases
必要なパッケージmybatis-3.3.0.jar ojdbc14.jar
オプションのパッケージJunit-4.7.jar log4j-1.2.17.jar
その中で、MyBatis-3.3.0.jarはMyBatisが提供する機能を実装するために使用されます。OJDBC14.JARはデータベースに接続するために使用され、Junit-4.7.jarは機能テストの実装に使用されます。
下の図に示すように:プロジェクトディレクトリに新しいフォルダーJARを作成し、JARディレクトリにインポートするために必要なパッケージをコピーして貼り付けます
注:これらのJARパッケージをローカルに保管するときは、中国語を使用しないでください。
次に、右クリックしてJARディレクトリ内の4つのファイルを選択し、[buildpath-> [パス]を追加する]をクリックすると、次のインターフェイスが表示されます。パスが正常に追加されることを意味します
4.プロジェクトにMyBatis構成ファイルDTD制約ファイルを紹介する
同様に、下の図に示すように、プロジェクトの下に新しいDTDディレクトリを作成し、制約ファイルをディレクトリにコピーします。DTDファイル構造、DTDファイルのダウンロード:
http://download.csdn.net/download/suwu150/9660699
DTDファイルの機能は、構成ファイルXMLを制約し、プログラマーが仕様に応じてXMLファイルを書き込むことができ、MyBatisはそれを正しく読み取り、解析できるようにすることです。上記のDTDはローカルで構成されており、もちろん公式Webサイトの接続を使用して制約することもできます。
5 MyBatisの構成ファイルとマッピングファイルは、それぞれプロジェクトに導入されます
1)MyBatis-Config.xml以下のSRC:
まず、ローカルDTD制約を関連付け、次の図を以下の図面に入力し、検索ボックスにXMLを入力し、XMLカタログ構成名を選択し、右側の[追加]ボタンをクリックします。
次の図に示すインターフェイスが表示されます。場所とキーの場所が空です。以下の図が構成されています。キーコンテンツは - // mybatis.org//dtd config 3.0 // enです。ロケーションコンテンツはあなた自身のものです。ワークスペース、つまり、プロジェクトに以前にコピーしたDTDファイル(ステップ4)を介して選択できます。
[OK]をクリックし、XML構成ファイルを書き込むことができます。制約を追加する目的は、プログラマーのライティングを標準化して、MyBatisを正常に解析できるようにすることです。
下の図に示すように:SRCを選択し、右クリックして新しいファイルMyBatisConfig.xmlを作成します
注:XMLファイルの開始をトッピングする必要があり、その前にスペースがない必要があります。
<?xml version = "1.0" encoding = "utf-8"?> <! - dtd制約を実行する、// mybatis.org//dtd config 3.0 // enはhttp://mybatis.org/dtd/mybatis-3 config.dtdのcusteped in dtdtddtdを提供します。 public " - // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3config.dtd"> <configuration> <configuration> <intyealiase> - Pojoクラスのエイリアス - > <Typealias = "com.mybatis.pojo.student </typealiase> <! - 開発がデフォルトのデータベース名であるデータベース環境を構成します。 TransactionManagerタイプはJDBCタイプです。データソースDataSourceは接続プールを使用します - > <環境デフォルト= "開発"> <環境ID = "> <transactionManager Type =" JDBC "> </transactionManager> <DataSource Type =" Pooled "> <! - データベース情報を構成します。ここでOracleデータベースを使用 - > <プロパティ名= "Driver" Value = "oracle.jdbc.driver.oracledriver" /> <Property name = "url" value = "jdbc:oracle:shin:@127.0.0.1:1521:orcl" />> <プロパティname = "username" " />> <" briup " /> </dataSource> </環境> </環境> <! - XMLファイルマッピングパスを構成します。ここで、SQL操作を実行できます - > <マッパー> <マッパーリソース= "com/mybatis/mappers/sustentmapper.xml"/> </mappers> </configuration>
2)com.mybatis.mappersパッケージの下のStudentMapper.xml:
最初に、インターフェイスcom.mybatis.mappersを実装します。 XMLファイルのSQLステートメント(マッピング)に対応するために、パッケージの下に新しいインターフェイスStudentMapper.javaを作成するパッケージ。
パッケージcom.mybatis.mappers; java.util.listをインポートします。 com.mybatis.pojo.Studentをインポートします。 public Interface StudentMapper {list <Student> findAllStudents(); Student FindStudentById(整数ID); void insertStudent(学生学生); }同じ方法を使用して、マッパーファイルを制約します
次に、XMLコードを書きます:
<?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"定義するインターフェイス。これにより、インターフェイスを使用して、マッピングSQLステートメントを呼び出すことができます。この名前はインターフェイスに対応する必要があります - > <mapper namespace = "com.mybatis.mappers.studentmapper"> <resultmap type = "desuted" = "dustentresult"> <id property = "sudid" column = "sudg_id" /> <resportプロパティ= "name" column = "name" /> <result property = "colum" </resultMap> <選択id = "findallStudents" resultmap = "sustentresult"> select * from sultents </select> <! - クエリ列にエイリアスを与える場合、id = "findstudentyid" parametertype = "int" inttpe = ""> select studid_id " Stud_id =#{id} </select> <挿入id = "insertsStudent" parametertype = "sustent"> inserting into studen(stud_id、name、email、dob)values(#{studid}、#{email}、#{dob})</mapper> </insert **********************************************
注:XMLファイルに記載されているSQLステートメントの最後にセミコロンを書かないでください。そうしないと、エラーが報告されます。 ORA-00911:無効な文字
**********************************************
6 log4j.propertiesファイルでログ出力を構成します:
場所SRCの下で、ファイル名log4j.properties
コンテンツ:
log4j.rootlogger = debug、stdout log4j.appender.stdout = org.apache.log4j.consoleappender log4j.appender.stdout.layout = org.apache.log4j.patternlayout log4j.appender.stdout.layout.conversionpatterpitterphatrnlayout log4j.appender.stdout.layout. sql log4j.logger.java.sql.resultset = info log4j.logger.org.apache = info log4j.logger.java.sql.connection = debug log4j.logger.java.sql.statement = debug log4j.logger.java.java.sql.preparedStatement
7テストクラスを作成しますsustentmappertest.java
パッケージcom.mybatis.test; java.io.ioexceptionをインポートします。 java.io.inputStreamをインポートします。 Import Java.util.date; Import org.apache.ibatis.io.resources; Import org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.sqlsessionfactoryBuilder; Import org.junit.test; com.mybatis.mappers.studentmapperをインポートします。 com.mybatis.pojo.Studentをインポートします。 Public Class StudentMappertest {@test public void test_insertStudent(){sqlsession session = null; try {//構成ファイルを取得しますinputstream inputstream = resources.getResourceasStream( "mybatis-config.xml"); // Factory Object sqlsessionFactory sqlsessionfactory = new sqlsessionfactorybuilder()。build(inputstream); //ファクトリーオブジェクトを使用して、sqlsessionセッション= sqlsessionfactory.opensession()を生成します。 // sqlsessionを使用して、マッピングインターフェイスの実装クラスオブジェクトを取得します。インターフェイスの参照は、実装クラスのオブジェクトを指していますstudentmapper studentmapper = session.getMapper(StudentMapper.class);学生学生= new Student(1、 "Suwu150"、 "[email protected]"、new date()); StudentMapper.InsertStudent(学生); } catch(ioException e){session.rollback(); e.printstacktrace(); }}}8操作が成功した後、次のように、コンソールのLOG4Jログによるこのプログラム出力の実行に関する関連情報が表示されます。
データベースをクエリするときに、次の情報を見ることができます
9 MyBatisのいくつかの基本パッケージ
構成ファイルが読み取られるたびに、FactoryオブジェクトSQLSessionFactoryが生成され、SQLSessionオブジェクトが生成されます。このプロセスは複雑ではありませんが、繰り返しコードプロセスでもあるため、単純にカプセル化できます。
パッケージcom.mybatis.utils; java.io.ioexceptionをインポートします。 java.io.inputStreamをインポートします。 Import org.apache.ibatis.io.resources; Import org.apache.ibatis.session.sqlsession; Import org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.sqlsessionfactoryBuilder;パブリッククラスmybatissqlsessionfactory {private static sqlsessionfactory sqlsessionfactory; public static sqlsessionFactory getSqlSessionFactory(){if(sqlsessionFactory == null){inputstream inputstream = null; try {inputstream = resources.getResourceasStream( "mybatis-config.xml"); sqlSessionFactory = new sqlsessionFactoryBuilder()。build(inputstream); } catch(ioexception e){e.printstacktrace();新しいruntimeexception(e.getCause()); }} return sqlsessionFactory; } public static sqlsession opensession(){return opensession(false); //マニュアルの提出デフォルトでは、呼び出すときに送信する必要があります} public static sqlsession opensession(boolean autocommit){return getsqlsessionfactory()。opensession(autocommit); }}その後、使用するたびに、このクラスの静的メソッドオープンセッションを呼び出すだけです。
上記のコードは、次のように短縮できます。//トランザクションが自動的にコミットされるか、手動でコミットされるかどうかに注意
mybatissqlsessionfactory.opensession()。getmapper(sustentmapper.class).insertStudent(s);
10上記のテストでは、追加された関数のみを完了しました。削除、変更、クエリの関数を実装しましょう。
マッピングファイルで、次の構成を作成します。
<?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"定義するインターフェイス。これにより、インターフェイスを使用して、マッピングSQLステートメントを呼び出すことができます。この名前はインターフェイスに対応する必要があります - > <mapper namespace = "com.mybatis.mappers.studentmapper"> <resultmap type = "desuted" = "dustentresult"> <id property = "sudid" column = "sudg_id" /> <resportプロパティ= "name" column = "name" /> <result property = "colum" </resultMap> <選択id = "findallStudents" resultmap = "sustentresult"> select * from sultents </select> <! - クエリ列にエイリアスを与える場合、id = "findstudentyid" parametertype = "int" inttpe = ""> select studid_id " Stud_id =#{id} </select> <insert Id = "insertStudent" parametertype = "sudent"> inserting into intound(stud_id、name、email、dob)values(#{sudid}、#{email}、{email}、#{dob}) Stud_id =#{id} </delete> <update id = "updateStudentbyid" parametertype = "sudent"> uppdate iness set name =#{name}、email =#{email} where stud_id = {sudid}インターフェイスクラスで、次の構成を作成します。
パッケージcom.mybatis.mappers; java.util.listをインポートします。 com.mybatis.pojo.Studentをインポートします。 public Interface StudentMapper {list <Student> findAllStudents(); Student FindStudentById(整数ID); void insertStudent(学生学生); void deletestudentbyid(integer id); void updatestudentbyid(学生学生); }テストファイルに次のコードを記述します。
パッケージcom.mybatis.test; java.io.ioexceptionをインポートします。 java.io.inputStreamをインポートします。 Import Java.util.date; java.util.listをインポートします。 Import org.apache.ibatis.io.resources; Import org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.sqlsessionfactoryBuilder; Import org.junit.test; com.mybatis.mappers.studentmapperをインポートします。 com.mybatis.pojo.Studentをインポートします。 com.mybatis.utils.mybatissqlsessionfactoryをインポートします。 Public Class StudentMappertest {@test public void test_insertStudent(){sqlsession session = null; try {//構成ファイルを取得しますinputstream inputstream = resources.getResourceasStream( "mybatis-config.xml"); // Factory Object sqlsessionFactory sqlsessionfactory = new sqlsessionfactorybuilder()。build(inputstream); //ファクトリーオブジェクトを使用して、sqlsessionセッション= sqlsessionfactory.opensession()を生成します。 // sqlsessionを使用して、マッピングインターフェイスの実装クラスオブジェクトを取得します。インターフェイスの参照は、実装クラスのオブジェクトを指していますstudentmapper studentmapper = session.getMapper(StudentMapper.class);学生学生=新しい学生(2、 "Suwu150"、 "[email protected]"、new date()); StudentMapper.InsertStudent(学生); session.commit(); System.out.println( "実行完了"); } catch(ioException e){session.rollback(); e.printstacktrace(); }} @test public void test_deletestudentbyid(){sqlsession session = null; session = mybatissqlsessionfactory.opensession(); //カプセル化クラスを使用// sqlsessionを使用して、マッピングインターフェイスの実装クラスオブジェクトを取得します。インターフェイスの参照は、実装クラスオブジェクトStudentMapper studentMapper = session.getMapper(sustentmapper.class)を指します。 StudentMapper.deletestudentbyid(2); session.commit(); System.out.println( "実行完了"); } @test public void test_updateStudentbyid(){sqlsession session = null; session = mybatissqlsessionfactory.opensession(); //カプセル化クラスを使用// sqlsessionを使用して、マッピングインターフェイスの実装クラスオブジェクトを取得します。インターフェイスの参照は、実装クラスオブジェクトStudentMapper studentMapper = session.getMapper(sustentmapper.class)を指します。学生学生= new Student(); Student.setStudid(1); Student.setName( "sususu"); Student.setEmail( "[email protected]"); StudentMapper.updateStudentById(desute); session.commit(); System.out.println( "実行完了"); } @test public void test_findstudentbyid(){sqlsession session = null; session = mybatissqlsessionfactory.opensession(); //カプセル化クラスを使用// sqlsessionを使用して、マッピングインターフェイスの実装クラスオブジェクトを取得します。インターフェイスの参照は、実装クラスのオブジェクトを指していますstudentmapper studentmapper = session.getMapper(StudentMapper.class); Student Student = StudentMapper.findstudentbyid(1); system.out.println(学生); system.out.println(学生); System.out.println( "実行完了"); } @test public void test_findallstudents(){sqlsession session = null; session = mybatissqlsessionfactory.opensession(); //カプセル化クラスを使用// sqlsessionを使用して、マッピングインターフェイスの実装クラスオブジェクトを取得します。インターフェイスの参照は、実装クラスのオブジェクトを指していますstudentmapper studentmapper = session.getMapper(StudentMapper.class);リスト<Student> list = StudentMapper.findallStudents(); System.out.println(list); System.out.println( "実行完了"); }}このようにして、学生オブジェクトの追加、削除、変更、および検索を完了します
上記は、編集者によって追加、削除、変更、検索されたMyBatisのコードの例です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!