`

Spring+Ibatis集成开发实例!

阅读更多

Spring+Ibatis集成开发实例

首先建立数据库demo,然后建表(本文选mysql)

建表数据库脚本:

CREATETABLE`ibatis`(
`id`
varchar(20)NOTNULL,
`name`
varchar(20)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE
=InnoDBDEFAULTCHARSET=gb2312;

insertintoibatisvalues("1","来宾");
insertintoibatisvalues("2","用户");

DAO接口:

packagecom.etong.community.test.dao;

importjava.util.List;

importcom.etong.community.test.daomain.Ibatis;

publicinterfaceIbatisDAO...{

publicListgetList();

publicIbatisgetByName(Stringname);

publicIbatisgetById(Stringid);

publicvoidsave(Ibatisibatis);

publicvoiddelete(Stringid);

publicvoidupdate(Ibatisibatis);

}

Ibatis配置文件(sqlMap-config.xml):

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEsqlMapConfigPUBLIC"-//iBATIS.com//DTDSQLMapConfig2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd"
>

<sqlMapConfig>
<sqlMapresource="com/etong/community/test/dao/ibatis/maps/ibatis.xml"/>
</sqlMapConfig>

ibatis sql map的文件ibatis.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEsqlMapPUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN""http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<typeAliastype="com.etong.community.test.daomain.Ibatis"alias="user"/>
<resultMapid="ibatisTest"class="user">
<resultcolumn="id"property="id"jdbcType="VARCHAR"/>
<resultcolumn="name"property="name"jdbcType="VARCHAR"/>
</resultMap>

<!--获得全查询列表-->
<selectid="getAllUsers"resultMap="ibatisTest">
SELECTID,NAMEFROMIBATIS
</select>

<!--根据用户名获得用户对象-->
<selectid="getUsersByName"resultMap="ibatisTest">
SELECTID,NAMEFROMIBATISWHERENAME=#value#
</select>

<!--根据id获得用户对象-->
<selectid="getUsersById"resultClass="user">
SELECTID,NAMEFROMIBATISWHEREID=#value#
</select>

<!--新增用户对象-->
<insertid="insertUsers"parameterClass="user">
INSERTINTOIBATIS(ID,NAME)VALUES(#id#,#name#)
</insert>

<!--删除用户对象-->
<deleteid="deleteUsers">
DELETEFROMIBATISWHEREID=#value#
</delete>

<!--更新用户对象-->
<updateid="updateUsers"parameterClass="user">
UPDATEIBATISSETNAME=#name#WHEREID=#id#
</update>
</sqlMap>

spring配置文件(applicationContext.xml)

<?xmlversion="1.0"encoding="GB18030"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


<beanid="dataSource"
class
="org.apache.commons.dbcp.BasicDataSource">
<propertyname="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<propertyname="username">
<value>root</value>
</property>
<propertyname="password">
<value>Allen</value>
</property>
<propertyname="url">
<value>jdbc:mysql://localhost:3306/ibatis</value>
</property>
</bean>

<beanid="sqlMapClient"
class
="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<!--此处应注入ibatis配置文件,而非sqlMap文件,否则会出现“thereisnostatement.....异常”-->
<propertyname="configLocation">
<value>sqlMap-config.xml</value>
</property>

</bean>

<beanid="testDAO"class="com.etong.community.test.dao.ibatis.SqlMapIbatisDAO">
<propertyname="dataSource">
<refbean="dataSource"/>
</property>
<propertyname="sqlMapClient">
<refbean="sqlMapClient"/>
</property>
</bean>
</beans>

DAO实现类:

packagecom.etong.community.test.dao.ibatis;

importjava.util.List;

importorg.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

importcom.etong.community.test.dao.IbatisDAO;
importcom.etong.community.test.daomain.Ibatis;

/***//**
*
@authoradmin
*
*/

publicclassSqlMapIbatisDAOextendsSqlMapClientDaoSupportimplementsIbatisDAO...{

/**//*
*(non-Javadoc)
*
*@seecom.etong.community.test.IbatisDAO#delete(java.lang.String)
*/

publicvoiddelete(Stringid)...{
getSqlMapClientTemplate().delete(
"deleteUsers",id);

}


/**//*
*(non-Javadoc)
*
*@seecom.etong.community.test.IbatisDAO#getById(java.lang.String)
*/

publicIbatisgetById(Stringid)...{
return(Ibatis)getSqlMapClientTemplate().queryForObject(
"getUsersById",id);
}


/**//*
*(non-Javadoc)
*
*@seecom.etong.community.test.IbatisDAO#getByName(java.lang.String)
*/

publicIbatisgetByName(Stringname)...{
return(Ibatis)getSqlMapClientTemplate().queryForObject(
"getUsersByName",name);
}


/**//*
*(non-Javadoc)
*
*@seecom.etong.community.test.IbatisDAO#getList()
*/

publicListgetList()...{
returngetSqlMapClientTemplate().queryForList("getAllUsers",null);
}


/**//*
*(non-Javadoc)
*
*@seecom.etong.community.test.IbatisDAO#save(com.etong.community.test.Ibatis)
*/

publicvoidsave(Ibatisibatis)...{
getSqlMapClientTemplate().insert(
"insertUsers",ibatis);

}


/**//*
*(non-Javadoc)
*
*@seecom.etong.community.test.IbatisDAO#update(com.etong.community.test.Ibatis)
*/

publicvoidupdate(Ibatisibatis)...{
getSqlMapClientTemplate().update(
"updateUsers",ibatis);

}


}

domain对象

packagecom.etong.community.test.daomain;

importjava.io.Serializable;

publicclassIbatisimplementsSerializable...{


privatestaticfinallongserialVersionUID=1L;

privateStringcolumn;
privateStringid;
privateStringname;
privateStringcolumnValue;

publicStringgetId()...{
returnid;
}


publicvoidsetId(Stringid)...{
this.id=id;
}


publicStringgetName()...{
returnname;
}
<
分享到:
评论

相关推荐

    Spring+Ibatis集成开发实例.doc

    Spring+Ibatis集成开发实例.docSpring+Ibatis集成开发实例.doc

    websevice,spring,cxg,ibatis

    CXF环境配置 - jackymin CXF与Spring的集成 log4j的配置使用 Spring XML配置十二个最佳实践WebService开发实例 (Xfire+Spring+Hibernate)

    Struts2+ibatis资料大全

    其中包括struts2,ibatis,spring以及proxool方式集成开发web应用项目的实例!

    Maven2项目集成springmvc,spring3,ibatis和freemarker实例

    Maven2项目集成springmvc,spring3,ibatis和freemarker实例,开发的一个简单的实力,集成这些技术,导入到eclipse就能用。

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例 spring jar 包详解spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下...

    JAVA WEB典型模块与项目实战大全.part4

    第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+Hibernate) 第26章 权限管理系统(Struts 2.X+Spring+JPA) 第27章 商业银行设备巡检系统(Struts 2.X+Spring+Hibernate...

    JAVA WEB典型模块与项目实战大全.part2(第二卷)

    第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+Hibernate) 第26章 权限管理系统(Struts 2.X+Spring+JPA) 第27章 商业银行设备巡检系统(Struts 2.X+Spring+Hibernate...

    JAVA WEB典型模块与项目实战大全.part3(第三卷)

    第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+Hibernate) 第26章 权限管理系统(Struts 2.X+Spring+JPA) 第27章 商业银行设备巡检系统(Struts 2.X+Spring+Hibernate...

    spring 3.0 jar 所有开发包及开发项目实例

    spring 3.0 jar 最新所有开发包及开发项目实例 spring 3.0已经全面支持OSGi了。 各发行包的大致描述如下: org.springframework.asm-3.0.0.M4.jar: 提供对ASM(一个字节码框架)的简单封装 org.springframework....

    JAVA WEB典型模块与项目实战大全.part1(第一卷)

    第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+Hibernate) 第26章 权限管理系统(Struts 2.X+Spring+JPA) 第27章 商业银行设备巡检系统(Struts 2.X+Spring+Hibernate...

    Spring 2.0 开发参考手册

    14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.4. Velocity和FreeMarker 14.4.1. 需要的资源 14.4.2. Context 配置 14.4.3. 创建模板 14.4.4. 高级配置 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.3.2.1. InternalResourceViewResolver 14.3.2.2. ResourceBundleViewResolver 14.4. Velocity和FreeMarker 14.4.1. ...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    Spring中文帮助文档

    14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.4. Velocity和FreeMarker 14.4.1. 需要的资源 14.4.2. Context 配置 14.4.3. 创建模板 14.4.4. 高级配置 ...

    Spring API

    14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.4. Velocity和FreeMarker 14.4.1. 需要的资源 14.4.2. Context 配置 14.4.3. 创建模板 14.4.4. 高级配置 ...

    springmybatis

    mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in ...

    Spring面试题

    ☆ Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 ☆ Spring Web 模块:...

    JSP网络编程学习笔记源代码 part2

    第四篇为“数据库访问技术”,主要讲述JDBC技术及JSP和Servlet如何通过JDBC访问数据库,以及如何改进数据库的访问和目前流行的Hibernate、iBATIS及Spring集成访问的支持;第五篇为“标签语言和表达式语言”,主要...

    SSH相关整合的总要资料

    iBatis,JPA)、视图(JSP,JSTL,Title,Velocity,FreeMarker,XSLT,PDF/Excel文档视图、JasperReports报表视图)、Web框架(JSF、Struts、Tapestry、WebWork)其他技术(WebServices、EJB、JMS、JMX、JCA等)的集成。...

    iuhyiuhkjh908u0980

    JBPM与Spring的集成开发(包括可 ... 入门级的东西. JBPM文档1、 加入JBPM支持包下载jbpm-starters-kit-3.1.4在项目的classPath中加入jbpm-3.1.4.jar、jbpm-identity-3.1.2.jar、jbpm-webapp-3.1.2.jar,jbpm-3.1.4....

Global site tag (gtag.js) - Google Analytics