iBatis框架使用 编程4步
2014-12-26 14:11
197 查看
iBatis框架是Java持久层开发框架,说白了就是前人写了一部分代码(针对数据库操作),我们要做的就是再次开发,拿来框架直接使用。
我们自己开发时,dao层的sql语句都是写死在程序中的,如果查询条件改变什么的都需要修改sql语句,这样就得去修改原代码,违背了开发原则中的开闭原则。有没有一种实现让sql不再写死在程序里,iBatis框架就可以使sql文活起来。
iBatis是一个开源的项目,有兴趣的可以去看看那些元老级的人物是怎么将封装的框架。本文旨在介绍它的使用。
第一步:搭建环境
所谓的搭建环境就是拷贝iBatis的jar包到我们的项目中。这样我们就可以使用框架中的相关类啦。
由于iBatis是数据库方面的操作,所以还有添加数据库方面的jar包,我用的是oracle的数据库,所以得到oracle的安装目录下面去找链接数据库的ojdbc6.jar
第二步:编写实体类和dao层接口及实现
这里需要做的就是将数据库的表对应封装成对象实体,定义Dao层的接口和实现,接口的具体实现这里不需要写,只需要把类准备出来,把接口准备出来就可以拉。
第三步:拷贝xml文件
将iBatis中的两个xml文件拷贝到项目中(下载的iBatis资料中会有相应的jar包和简单的例子,例子中有xml文件),一个是SqlMapConfig.xml是完成数据库配置的文件,另一个是实体类对应的xml文件,本文以User.xml为例。
需要注意的是这两个文件所放的位置,一般都是将SqlMapConfig.xml文件拷贝到项目的根目录下面,放在src下,实体类对应的xml文件跟对应的实体放在一块就行了。
一个系统中就只有一个SqlMapConfig.xml文件,文件的名称可以更改,是数据库配置文件,文件内容参考如下:
[html] view
plaincopyprint?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:Orl"/>
<property name="JDBC.Username" value="scott"/>
<property name="JDBC.Password" value="tiger"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/ibatis/bean/User.xml"/>
</sqlMapConfig>
实体类的配置文件则有多个,是和实体类对应的。内容参考如下:
[html] view
plaincopyprint?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!--起别名-->
<typeAlias alias="UserType" type="com.ibatis.bean.User"></typeAlias>
<!--insert操作,parameterClass为参数的类型-->
<insert id="insertUserID" parameterClass="UserType">
insert into t_user (
username,
userpswd)
values (
#username#, #userpswd#
)
</insert>
<delete id="deleteUser" parameterClass="java.lang.String">
delete from t_user where username=#username#
</delete>
</sqlMap>
第四步:编写dao层接口实现
用了框架后,实现类中就没有sql语句了,在上面参考代码中看到,sql语句都配置到对应的实体类对应的配置文件中拉,这样实现类的代码就会变得很简单,如下:
这样就可以实现对User的添加和删除了,如果此时还不放心,可以添加个测试类测试一次。
使用框架,前提配置工作一定要做好。主要在配置文件上面。一定要仔细。
我们自己开发时,dao层的sql语句都是写死在程序中的,如果查询条件改变什么的都需要修改sql语句,这样就得去修改原代码,违背了开发原则中的开闭原则。有没有一种实现让sql不再写死在程序里,iBatis框架就可以使sql文活起来。
iBatis是一个开源的项目,有兴趣的可以去看看那些元老级的人物是怎么将封装的框架。本文旨在介绍它的使用。
第一步:搭建环境
所谓的搭建环境就是拷贝iBatis的jar包到我们的项目中。这样我们就可以使用框架中的相关类啦。
由于iBatis是数据库方面的操作,所以还有添加数据库方面的jar包,我用的是oracle的数据库,所以得到oracle的安装目录下面去找链接数据库的ojdbc6.jar
第二步:编写实体类和dao层接口及实现
这里需要做的就是将数据库的表对应封装成对象实体,定义Dao层的接口和实现,接口的具体实现这里不需要写,只需要把类准备出来,把接口准备出来就可以拉。
第三步:拷贝xml文件
将iBatis中的两个xml文件拷贝到项目中(下载的iBatis资料中会有相应的jar包和简单的例子,例子中有xml文件),一个是SqlMapConfig.xml是完成数据库配置的文件,另一个是实体类对应的xml文件,本文以User.xml为例。
需要注意的是这两个文件所放的位置,一般都是将SqlMapConfig.xml文件拷贝到项目的根目录下面,放在src下,实体类对应的xml文件跟对应的实体放在一块就行了。
一个系统中就只有一个SqlMapConfig.xml文件,文件的名称可以更改,是数据库配置文件,文件内容参考如下:
[html] view
plaincopyprint?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:Orl"/>
<property name="JDBC.Username" value="scott"/>
<property name="JDBC.Password" value="tiger"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/ibatis/bean/User.xml"/>
</sqlMapConfig>
实体类的配置文件则有多个,是和实体类对应的。内容参考如下:
[html] view
plaincopyprint?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!--起别名-->
<typeAlias alias="UserType" type="com.ibatis.bean.User"></typeAlias>
<!--insert操作,parameterClass为参数的类型-->
<insert id="insertUserID" parameterClass="UserType">
insert into t_user (
username,
userpswd)
values (
#username#, #userpswd#
)
</insert>
<delete id="deleteUser" parameterClass="java.lang.String">
delete from t_user where username=#username#
</delete>
</sqlMap>
第四步:编写dao层接口实现
用了框架后,实现类中就没有sql语句了,在上面参考代码中看到,sql语句都配置到对应的实体类对应的配置文件中拉,这样实现类的代码就会变得很简单,如下:
这样就可以实现对User的添加和删除了,如果此时还不放心,可以添加个测试类测试一次。
使用框架,前提配置工作一定要做好。主要在配置文件上面。一定要仔细。
相关文章推荐
- iBatis框架使用 编程4步
- iBatis框架使用 编程4步
- iBatis框架使用 编程4步
- iBatis框架使用 编程4步
- iBatis框架使用 编程4步
- iBatis框架使用 4步曲
- iBatis框架使用 4步曲
- python网络编程之TCP通信实例和socketserver框架使用例子
- iOS编程技巧总结之语音篇(二)- OpenEars框架及其使用1
- 在C++ Builder中使用OpenGL编程的优化框架
- 使用NIO的server编程框架
- [转]使用 Twisted Matrix 框架来进行网络编程 .
- 使用 IBATIS 框架开发JAVA GUI
- 使用iBatis数据映射框架吧
- MFC单文档框架编程(三): CTabView的使用
- iOS编程技巧总结之语音篇-- OpenEars框架及其使用1
- iOS编程技巧总结之语音篇(三)- OpenEars框架及其使用2
- ibatis 框架介绍及使用详解
- 使用Abator生成iBatis代码框架
- [转]使用 Twisted Matrix 框架来进行网络编程