iBATIS框架技术----一个简单的应用
2009-08-31 20:11
691 查看
在这里我不多讲理论方面的内容,我以一个实现开发的一个子例子来说明如何使用iBatis进行实际的开发应用
iBatis同hibernate一样,同样作用于数据库,而其操作的核心:SQL语句之前被写入到一个xml配置文件中。然后
我们就可以通过读取该配置文件,进行相应的查询,删除,插入,更新等操作,而且我们还可以重新这个操作功能
这里我不做出iBatis和Hibernate的性能比较,相信大家如果使用到了iBatis框架,你就会体验它的强大和精秒之处的。
首先要配置一个properties文件.这个文件中定义了一个连接mysql数据库的驱动,url,user,password.等等
如下:
mysql.driver = com.mysql.jdbc.Driver
mysql.url = jdbc:mysql://localhost:3306/xb
mysql.username = root
mysql.password = harmony
然后定义一个SqlMapConfig.xml文件,这个文件负责读取上面的配置文件.
<!-- 唯一的Properties文件,加载数据库连接信息 -->
<properties resource="mysql.properties"/>
还可以进行事务管理
<!-- 配置Ibatis事务管理,使用JDBC事务类型,数据源使用Simple类型 -->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${mysql.driver}"/>
<property name="JDBC.ConnectionURL" value="${mysql.url}"/>
<property name="JDBC.Username" value="${mysql.username}"/>
<property name="JDBC.Password" value="${mysql.password}"/>
</dataSource>
</transactionManager>
最后引入配置信息,也就是一些SQL语句配置文件
<!-- 配置Ibatis要使用的SqlMap文件信息 -->
<sqlMap resource="com/jack/ibatis/pojo/map/person.xml"/>
我们下面讲一下就讲这个person.xml
<sqlMap>
<!-- 为Person类设置一个别名 -->
<typeAlias alias="person" type="com.jack.ibatis.pojo.Person"/>
<!-- 配置表和类之间的映射关系 -->
<resultMap class="com.jack.ibatis.pojo.Person" id="personMap">
<result property="id" column="ID"/>
<result property="username" column="U_NAME"/>
<result property="password" column="U_PASSWORD"/>
</resultMap>
<!-- 添加用户 -->
<insert id="insertPerson" parameterClass="person">
<!-- 配置Mysql主键自动生成 -->
<selectKey keyProperty="id" resultClass="int">
SELECT LAST_INSERT_ID() as value
</selectKey>
<![CDATA[
INSERT PERSON(U_NAME,U_PASSWORD) VALUES(#username#,#password#)
]]>
</insert>
<!-- 查看特定用户 -->
<select id="queryPersonById" parameterClass="int" resultMap="personMap">
<![CDATA[
SELECT * FROM PERSON WHERE ID=#id#
]]>
</select>
<!-- 查看所有的用户 -->
<select id="queryAllPerson" resultMap="personMap">
<![CDATA[
SELECT * FROM PERSON
]]>
</select>
下面定义javaBean类也叫JOPO类
package com.jack.ibatis.pojo;
public class Person {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
也就是一些属性,gettter/setter方法
下面使用一个测试类测试一下
String resource = "sqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
//定义SqlMapClient
SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
Person person = new Person();
person.setUsername("jack");
person.setPassword("jack");
//开始一个事务
sqlMap.startTransaction();
sqlMap.insert("insertPerson", person);
sqlMap.commitTransaction();
//提交一个事务
如果查看一下就数据如果多了一行记录,说明操作成功了。
(待续)..............................
iBatis同hibernate一样,同样作用于数据库,而其操作的核心:SQL语句之前被写入到一个xml配置文件中。然后
我们就可以通过读取该配置文件,进行相应的查询,删除,插入,更新等操作,而且我们还可以重新这个操作功能
这里我不做出iBatis和Hibernate的性能比较,相信大家如果使用到了iBatis框架,你就会体验它的强大和精秒之处的。
首先要配置一个properties文件.这个文件中定义了一个连接mysql数据库的驱动,url,user,password.等等
如下:
mysql.driver = com.mysql.jdbc.Driver
mysql.url = jdbc:mysql://localhost:3306/xb
mysql.username = root
mysql.password = harmony
然后定义一个SqlMapConfig.xml文件,这个文件负责读取上面的配置文件.
<!-- 唯一的Properties文件,加载数据库连接信息 -->
<properties resource="mysql.properties"/>
还可以进行事务管理
<!-- 配置Ibatis事务管理,使用JDBC事务类型,数据源使用Simple类型 -->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${mysql.driver}"/>
<property name="JDBC.ConnectionURL" value="${mysql.url}"/>
<property name="JDBC.Username" value="${mysql.username}"/>
<property name="JDBC.Password" value="${mysql.password}"/>
</dataSource>
</transactionManager>
最后引入配置信息,也就是一些SQL语句配置文件
<!-- 配置Ibatis要使用的SqlMap文件信息 -->
<sqlMap resource="com/jack/ibatis/pojo/map/person.xml"/>
我们下面讲一下就讲这个person.xml
<sqlMap>
<!-- 为Person类设置一个别名 -->
<typeAlias alias="person" type="com.jack.ibatis.pojo.Person"/>
<!-- 配置表和类之间的映射关系 -->
<resultMap class="com.jack.ibatis.pojo.Person" id="personMap">
<result property="id" column="ID"/>
<result property="username" column="U_NAME"/>
<result property="password" column="U_PASSWORD"/>
</resultMap>
<!-- 添加用户 -->
<insert id="insertPerson" parameterClass="person">
<!-- 配置Mysql主键自动生成 -->
<selectKey keyProperty="id" resultClass="int">
SELECT LAST_INSERT_ID() as value
</selectKey>
<![CDATA[
INSERT PERSON(U_NAME,U_PASSWORD) VALUES(#username#,#password#)
]]>
</insert>
<!-- 查看特定用户 -->
<select id="queryPersonById" parameterClass="int" resultMap="personMap">
<![CDATA[
SELECT * FROM PERSON WHERE ID=#id#
]]>
</select>
<!-- 查看所有的用户 -->
<select id="queryAllPerson" resultMap="personMap">
<![CDATA[
SELECT * FROM PERSON
]]>
</select>
下面定义javaBean类也叫JOPO类
package com.jack.ibatis.pojo;
public class Person {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
也就是一些属性,gettter/setter方法
下面使用一个测试类测试一下
String resource = "sqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
//定义SqlMapClient
SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
Person person = new Person();
person.setUsername("jack");
person.setPassword("jack");
//开始一个事务
sqlMap.startTransaction();
sqlMap.insert("insertPerson", person);
sqlMap.commitTransaction();
//提交一个事务
如果查看一下就数据如果多了一行记录,说明操作成功了。
(待续)..............................
相关文章推荐
- php接口技术实现一个简单的多态应用实例
- ibatis框架简单应用
- 如何利用动态代理技术构建一个通用的,获取代理类的简单框架?
- 一个基于MINA框架应用的最简单例子
- 前端技术结合phonegap封装的一个简单应用(作品3)
- afinal - afinal 是一个android的 orm 和 ioc 框架。通过afinal的finalAcitivity,finalBitmap,finalDB,finalHttp,开发android应用将更加简单。 - Google Project Hosting
- 一个基于MINA框架应用的最简单例子
- 应用ASP技术编写一个简单论坛(中)
- 应用ASP技术编写一个简单论坛(下)
- C++萃取技术的一个简单应用
- 一个简单的Android应用框架图
- 使用react-native做一个简单的应用-04界面主框架
- 在做一个大型java项目,从现在起记录一些技术应用框架配置,一、svn+apace+权限配置
- iBatis环境搭建示例:创建一个最简单的iBatis应用
- JDBC数据源(DataSource)数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用。
- 老调重弹:插件式框架开发的一个简单应用
- 简单的SSM框架应用的分页技术
- 用JSF+Spring+IBatis搭建一个简单的框架
- nhmicro技术框架应用说明(事务、aop、分库分表、读写分离)
- OC中用字典创建一个具有省市区的应用(简单的字典运用代码)