`
jiujiubuzui
  • 浏览: 73314 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring+ibatis实例

 
阅读更多

首先需要以下这些jar包:commons-dbcp.jar, commons-logging.jar, commons-pool.jar, ibatis-2.3.0.677.jar, ojdbc14_g.jar, spring.jar

1.
sqlMapConfig.xml文件代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
 <sqlMap resource="user.xml" />
</sqlMapConfig>


2.applicationContext.xml文件代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property name="driverClassName">
   <value>oracle.jdbc.OracleDriver</value>
  </property>
  <property name="url">
   <value>jdbc:oracle:thin:@10.2.46.41:1521:orcl</value>
  </property>
  <property name="username">
   <value>jpet</value>
  </property>
  <property name="password">
   <value>1234</value>
  </property>
 </bean>

 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation">
   <value>SqlMapConfig.xml</value>
  </property>
 </bean>

 <bean id="transactionManager"
  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource">
   <ref local="dataSource" />
  </property>
 </bean>

 <bean id="userDAO" class="UserDAO">
  <property name="dataSource">
   <ref local="dataSource" />
  </property>
  <property name="sqlMapClient">
   <ref local="sqlMapClient" />
  </property>
 </bean>

 <bean id="userDAOProxy"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager" />
  </property>
  <property name="target">
   <ref local="userDAO" />
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
   </props>
  </property>
 </bean>
</beans>

3.user.xml文件代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap>
 <cacheModel id="oneDayProduct" type="MEMORY">
  <flushInterval hours="24" />
  <property name="reference-type" value="WEAK" />
 </cacheModel>

 <resultMap id="result" class="User">
  <result property="productId" column="productid" columnIndex="1" />
  <result property="name" column="name" columnIndex="2" />
  <result property="description" column="descn" columnIndex="3" />
  <result property="categoryId" column="category" columnIndex="4" />
 </resultMap>

 <select id="getUserByName" resultMap="result">
  select productid, name,
  descn, category from product where productid = #value#
  </select>
</sqlMap>

4.User.java文件代码如下

import java.io.Serializable;

public class User implements Serializable {

 private static final long serialVersionUID = 1L;
 private String productId;
 private String categoryId;
 private String name;
 private String description;

 /* JavaBeans Properties */

 public String getProductId() {
  return productId;
 }

 public void setProductId(String productId) {
  this.productId = productId.trim();
 }

 public String getCategoryId() {
  return categoryId;
 }

 public void setCategoryId(String categoryId) {
  this.categoryId = categoryId;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getDescription() {
  return description;
 }

 public void setDescription(String description) {
  this.description = description;
 }

 /* Public Methods */

 public String toString() {
  return getName();
 }

}

5.UserDAO.java文件代码

import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public class UserDAO extends SqlMapClientDaoSupport {
 public User getUser(String username) throws DataAccessException {
  return (User) getSqlMapClientTemplate().queryForObject(
    "getUserByName", username);
 }
}

6.Test.java文件代码

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
 public static void main(String[] args) {
  ApplicationContext app = new ClassPathXmlApplicationContext(
    "applicationContext.xml");
  UserDAO userDAO = (UserDAO) app.getBean("userDAO");
  User user = userDAO.getUser("FI-SW-01");
  System.out.println(user);
 }
}




 

分享到:
评论

相关推荐

    struts2 + spring + ibatis 实例

    struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    struts+spring+ibatis实例

    标题"struts+spring+ibatis实例"表明这是一个实际操作的项目,用于演示这三大框架如何协同工作。开发者通过这个实例,可以深入理解这三个框架的集成过程以及它们各自的角色。 描述中提到,这个实例"非常简单,适合...

    struts+spring+ibatis实例(完整项目)

    在这个“struts+spring+ibatis 实例(完整项目)”中,我们将深入探讨这三个框架如何协同工作,以及如何通过它们来构建一个功能完备的Web应用程序。 首先,Struts 是一个基于MVC(Model-View-Controller)设计模式的...

    webwork+spring+ibatis很适合初学者的实例

    "webwork+spring+ibatis" 的实例通常会展示如何将这三个框架集成到一个完整的Web项目中。这个实例可能包含以下部分: 1. **环境配置**:安装和配置Java开发环境,如JDK,以及相关的开发工具,如IDEA或Eclipse。 2. ...

    spring+ibatis配置实例

    "spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...

    struts2+spring+ibatis项目实例

    总的来说,"struts2+spring+ibatis"项目实例展示了如何利用这三大框架来构建一个完整的Web应用程序。通过Struts2处理请求,Spring进行依赖管理和事务控制,以及iBatis处理数据库操作,我们可以构建出高效、模块化且...

    spring+struts2+ibatis简单登录实例--特别适新人学习

    一个简单的spring+struts+ibatis整合的实例,实现了用户登录,用户登录成功则显示欢迎信息,失败则显示用户名或密码错误,该实例非常简单基础,特别适合新人学习,工程包含了必要的资源包,部署到服务器中及可运行,...

    struts2+hibernate+spring+ibatis 小实例

    struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+...

    struts2+spring+ibatis实例

    基于struts2+spring+ibatis做的一个例子。 包含: 1.项目源代码,及所需要用的jar包; 2.数据库脚本。 环境: myeclipse + mysql + tomcat 功能: 1.登录; 2.对另一张表的增删改查操作; 3.设有拦截器功能...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    综上所述,这个实例展示了如何整合Struts2、Spring、iBatis和Oracle来构建一个完整的Web应用,实现了动态分页搜索和附件上传功能。这种架构具有良好的可扩展性和可维护性,适用于各种中大型企业级项目。开发者可以...

    Spring+Webwork+iBatis 组合实例

    ### Spring+WebWork+iBatis 组合实例详解 #### 一、概述 在Java Web开发领域,Spring、WebWork与iBatis是三个非常重要的框架。本篇将结合具体的配置文件来详细介绍这三个框架是如何协同工作的,以及它们各自在项目...

    struts2+spring+ibatis整合项目实例

    在本实例中,`spring2.5.5+struts2+ibatis2.3.4登录实例.doc`可能包含了一个基本的登录功能的实现,展示了Struts2的Action配置和结果转发。 2. **Spring**:Spring框架是企业级Java应用的核心容器,提供了依赖注入...

    Struts2+spring+ibatis三大框架整合实例

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层和服务数据访问层。本文将详细介绍这三个框架如何整合,以及在实际项目中如何运用。 首先,Struts2作为表现...

    struts+spring+ibatis+mysql实例

    struts spring ibatis mysql 分页,增删改查,以及导出excle

    struts2+spring+ibatis增删查改翻页代码示例

    在本示例中,Spring将被用来管理Struts2 Action类和iBatis的SqlSession实例。通过Spring的DI(依赖注入)特性,我们可以轻松地在Action类中注入所需的Service层对象,进一步调用DAO层实现数据操作。同时,Spring还...

    springmvc3+spring+ibatis完整项目可直接运行

    这个项目实例对于学习和理解Spring MVC、Spring 和 iBATIS 的集成非常有帮助,你可以通过它来实践这些框架的基本用法,例如控制器的编写、Service层的设计、DAO层的实现以及视图的渲染。同时,还可以深入研究AOP、...

Global site tag (gtag.js) - Google Analytics