JAva webにおけるIBATISの動作原理(1)
この间、SSHとSSIのモデルを再研究する暇がありました.以前、HibernateのJDBCのパッケージについて书いたことがありますが、これはIbatisのものではありません.
HibernateのワンストップORMソリューションに対して、Ibatisは半自動化されたORMの実現方案である.SQL文が分からなくても、開発して使うことができます.しかし、このような場合には少し限界があり、一部の需要にとって満足しにくく、sqlの最適化などに不利であることが多い.このとき,軽量級のIbatisという半自動の実現形態をより多く考慮した.Ibatisの利点を知るには、POJOとsqlのマッピング関係だけを実現し、具体的なsql文は私たちが自分で書く必要があるということです.次に、Ibatisのプロファイルを使用して、sqlに必要なパラメータと、返される結果フィールドを指定したPOJOにマッピングします.ORM効果を達成する.Ibatisのプロファイルとコア関数について説明します.
1.Ibatisのインスタンスプロファイルおよびjdbcの構成:
XmlSqlMapClientBuilderはibatisのコンポーネントであり、プロファイルに基づいてSqlMapClientインスタンスを作成するために使用されます.
SqlMapClientでのメソッドは、データベースのCRUDを行います.
その中には多くの細部があり、自分でゆっくり研究する価値がある.
HibernateのワンストップORMソリューションに対して、Ibatisは半自動化されたORMの実現方案である.SQL文が分からなくても、開発して使うことができます.しかし、このような場合には少し限界があり、一部の需要にとって満足しにくく、sqlの最適化などに不利であることが多い.このとき,軽量級のIbatisという半自動の実現形態をより多く考慮した.Ibatisの利点を知るには、POJOとsqlのマッピング関係だけを実現し、具体的なsql文は私たちが自分で書く必要があるということです.次に、Ibatisのプロファイルを使用して、sqlに必要なパラメータと、返される結果フィールドを指定したPOJOにマッピングします.ORM効果を達成する.Ibatisのプロファイルとコア関数について説明します.
1.Ibatisのインスタンスプロファイルおよびjdbcの構成:
<sqlMapConfig>
<properties resource="SqlMap.properties"/> jdbc
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property value="${driver}" name="JDBC.Driver"/>
<property value="${url}" name="JDBC.ConnectionURL"/>
<property value="${username}" name="JDBC.Username"/>
<property value="${password}" name="JDBC.Password"/>
</dataSource>
</transactionManager>
<sqlMap resource="ncut/com/map/Student.xml"/> POJO sql
</sqlMapConfig>
2.POJOのベースクラスファイル:public class Student {
private int id;
private String username;
private String password;
private int age;
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
3.sqlのマッピングファイル:<sqlMap>
<typeAlias alias="Student" type="ncut.com.bean.Student"/><!-- bean -->
<select id="selectAllStudent" resultClass="Student">
select * from student1
</select>
<!-- parameterClass parameterMap
resultClass resultMap -->
<select id="selectStudentById" parameterClass="int" resultClass="Student">
select * from student1
where id=#id#
</select>
<insert id="addStudent" parameterClass="Student">
insert student1(id,username,password,age)
values (#id#,#username#,#password#,#age#)
</insert>
</sqlMap>
4.SqlMapClientはIbatisの運用の核心であり、すべてのデータベース操作はSqlMapClientインスタンスによって行われます.XmlSqlMapClientBuilderはibatisのコンポーネントであり、プロファイルに基づいてSqlMapClientインスタンスを作成するために使用されます.
private static SqlMapClient sqlMapClient;
static{
try {
Reader reader=com.ibatis.common.resources.Resources.getResourceAsReader("SqlMapConfig.xml");
sqlMapClient=com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
で直接呼び出すことができますSqlMapClientでのメソッドは、データベースのCRUDを行います.
その中には多くの細部があり、自分でゆっくり研究する価値がある.