iBATISは、Day01

iBATISの学習プロセス

SqlClientに新しいで、次いで、こうしてibatisTestのSqlClientによってそのメソッドを呼び出して、データベースとSqlMapConfig構成などの情報を読み取り、異なるデータソースSQLMAPマップ・ファイルをロードすることによってのiBATISのSqlClient SQLのsqlMapConfigクライアントの確立マップファイルを、対応するSQL文を呼び出すためSQLMAPクライアント

 

 

SQLMAPマッピングファイル

1の<?xml version = "1.0"エンコード= "UTF-8"?> 
 2 
 3 <!DOCTYPE SQLMAP       
 4 PUBLIC " - // ibatis.apache.org//DTD SQL地図2.0 // EN"       
 5 "http://ibatis.apache.org/dtd/sql-map-2.dtd"> 
 6 //命名空间
 7 <SQLMAP名前空間= "EMP"> 
 8 
 9 <! -使用型の別名が完全なクラス名を毎回入力しないようにします。- > 
    //别名 10 <typeAlias別名= "EMP"タイプ= "com.yinhai.ibatisdemo.ibatis.domain.Emp" /> 11 12 <! - 結果マップは、列の間のマッピングが返さ説明 クエリから13を、およびクラスのプロパティ。結果マップISN」
16 <このresultMap ID = "empResult"クラス= "EMP"> 17 <結果プロパティ= "EMPNO"カラム= "EMPNO" /> 18 <結果プロパティ= "ENAME"欄= "ENAME" /> 19 <結果プロパティ= "ジョブ"欄= "JOB" /> 20 <結果プロパティ= "MGR"カラム= "MGR" /> 21 <プロパティ= "HIREDATE"欄= "HIREDATE"をもたらす/> 22 <プロパティ= "SAL"をもたらしますカラム= "SAL" /> 23 <プロパティ= "COMM"カラム= "COMM"をもたらす/> 24 <結果プロパティ= "DEPTNO"欄= "DEPTNO" /> 25 <プロパティ= "性別"をもたらします 列= "GENDER" /> 26 </このresultMap> 27 28 <! - Accountクラスに対する結果マップを使用してパラメータなしで選択します。- > 29 <選択のid = "selectAllEmps"このresultMap = "empResult"> 30 セレクトEMPNO、 31 ENAME、 32 ジョブ、33 MGR、34 HIREDATE、35 SAL、36 COMM、37 DEPTNO、38 男女39 EMP 40から41 <SELECT ID = "selectEmpById" parameterClass = "java.lang.Integerの" </選択> resultClassを= "EMP"> 42 43 セレクトEMPNO、44 ENAME、45 ジョブ、46 MGR、47 HIREDATE、48 SAL、49 COMM、50 DEPTNO、51 男女52 EMPNO = EMP 53から#EMPNO#54 </ 55>選択56はEMPNO = EMPから削除<ID = "deleteEmp" parameterClass = "java.lang.Integerの"を削除> updateEmp "parameterClass =" com.yinhai.ibatisdemo#EMPNO#57 </削除> 58 <更新ID ="。ibatis.domain.Emp "> 59更新EMPセットENAME =#のENAMEの#どこEMPNO =#EMPNO#60 </更新> 61 <インサートID = "insertEmp" parameterClass = "com.yinhai.ibatisdemo.ibatis.domain.Emp"> 62 EMPへの挿入(EMPNO、ENAME)値(#empno#、#1 ENAME位)63 </インサート> 64 </ SQLMAP>

 

SqlMapConfigクラス(コンフィギュレーションデータベース接続のプロパティでのiBATISとSQLMAP SqlMapConfigデータソース)

1の<?xml version = "1.0"エンコード= "UTF-8"?> 
 2 
 3 <!DOCTYPE sqlMapConfig       
 4 PUBLIC " - // ibatis.apache.org//DTD SQL地図コンフィグ2.0 // EN"       
 5 "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> 
 6 
 7 <sqlMapConfig> 
 8 <設定useStatementNamespaces = "真" /> 
 9 <! -内蔵のトランザクションマネージャを設定します。あなたが使用している場合
10        アプリケーションサーバーを、あなたはおそらく、そのトランザクションマネージャ使用したい
11と管理データソースを- > 
    //节点事务交给JDBC处理 12 <トランザクションマネージャーのタイプ=「JDBC」commitRequired =「false」に>
14 <プロパティ名= "JDBC.Driver"値= "oracle.jdbc.OracleDriver" /> 15 <プロパティ名= "JDBC.ConnectionURL"値= "JDBC:オラクル:薄い:192.168.10.135 @:1521:ORCL" / > 16 <プロパティ名= "JDBC.Username"値= "px404" /> 17 <プロパティ名= "JDBC.Password"値= "px404" /> 18 </データソース> 19 </のTransactionManager> 20 21 <! - - SQLマップXMLファイルを一覧表示します。彼らはからロードすることができます > -彼らはここにあるとして(com.domain.data ...)、22クラスパス
    //配置SQLMAP映射文件数据源 23 <SQLMAPリソース= "emp.xml" /> 24 28 <29 / sqlMapConfig>

 

SqlClient(SqlClientのSqlMapConfigに情報を読み取り、情報SQLMAPクライアントを確立して、クラスの新しいメソッドに、SQLMAPの方法でメソッドを呼び出すために、クライアントを使用して)

パッケージcom.yinhai.ibatisdemo.ibatis.test; 

インポートcom.ibatis.sqlmap.client.SqlMapClient; 
インポートcom.ibatis.sqlmap.client.SqlMapClientBuilder; 
インポートcom.ibatis.common.resources.Resources;  インポートcom.yinhai.ibatisdemo .ibatis.domain.Emp; 
 インポートするjava.io.Reader;インポートにjava.io.IOException;インポートはjava.util.List;インポートます。java.sql.SQLException; publicクラスのSqlClient {プライベート静的のSqlMapClient sqlMapper;静的{試み{ 
    // SqlMapConfig情報は、リーダー= Resources.getResourceAsReaderリーダー(「SqlMapConfig.xml」をお読み;)
    //読み込みに応じてのSqlMapClientクライアント情報を作成sqlMapper =をSqlMapClientBuilder.buildSqlMapClient(リーダー)。
    //关闭读取流reader.close(); }キャッチ(IOExceptionを電子){//高速失敗。新しいのRuntimeExceptionをスロー(+「のSqlMapClientインスタンス構築しながら、悪い何かが起こった」E、E)を、}} //查询所有信息パブリック静的リストselectAllEmps()スローのSQLExceptionは、{( "emp.selectAllEmps" sqlMapper.queryForListを返します)。}パブリック静的EmpのselectEmpById信息//根据ID查询(整数EMPNO)がスローするSQLException {リターン(EMP)sqlMapper.queryForObject( "emp.selectEmpById" 、EMPNO)を、} / *新增* /パブリック静的INT insertEmp(EMPのEMP)がスローSQLExceptionが{sqlMapper.update( "emp.insertEmp"戻り、EMP)を、} / *修改* /パブリック静的int型updateEmp(EMPのEMP)がスローするSQLException {sqlMapper.updateを返す( "EMP。、EMP)。} / *删除* /パブリック静的INT deleteEmp(整数EMPNO)スローSQLExceptionが{sqlMapper.update返す( "emp.deleteEmp"を、EMPNO)。}}

 

ibatisTest(SQLMAP対応する呼び出しに対応する方法でのSqlClient)

1つのパッケージcom.yinhai.ibatisdemo.ibatis.test。
 2 
 3インポートcom.yinhai.ibatisdemo.ibatis.domain.Emp。
 4 
 5インポートjava.sql.SQLExceptionという。
 6インポートjava.util.Listに。 7  8パブリッククラスibatisTests {  9公共の静的な無効メイン(文字列[]引数){10のtry {11 //查询12リストList = SqlClient.selectAllEmps()。13 (オブジェクトI:リスト14 ){15 のSystem.out.println(I)。16} // 17 System.out.print( "1" + list.toString())。18 19 //根据ID查询20 // emp表EMP = SqlClient.selectEmpById(9999)。21 // System.out.print( "2" + EMP)。22 //删除23 // int型I =(1466)SqlClient.deleteEmp。24 // System.out.print(I); 25 26 // 27 //修改のEmp EMP =新しいEmpの(); 28 // emp.setEname( "测试"); 29 // emp.setEmpno(1483); 30 // int型I = SqlClient.updateEmp(EMP)。31 // System.out.print(I); 32 // 33 //新增のEmp EMP =新しいEmpの(); 34 // emp.setEmpno(1011); 35 // emp.setEname( "傅旭东"); 36 // int型I = SqlClient.insertEmp(EMP)。37 // System.out.print(I)。38}キャッチ(のSQLException E){39 e.printStackTrace(); 40 } 41 42 } 43}

 

おすすめ

転載: www.cnblogs.com/idefault/p/11688653.html