- 浏览: 31208 次
- 性别:
- 来自: 北京
最新评论
前几天自己利用下班的时间写了一下spring与IBatis的工程配置,整个工程分为三层:DAO, SERVICE, CONTROLLER。 相信很多人都很熟悉。下面我把我整个工程的配置文件分享给大家,作为处级搭建工程的模版吧。
下图是整个工程的结构图:
接下来我们分别介绍每个配置文件:
1. web.xml
web.xml主要是用于配置spring MVC的分发器以及listener(监听器)
2. applicationContext.xml
在applicationContext中主要配置了spring的事务管理器, 视图解析器, 还有就是数据库连接设置信息。数据库的设置信息也可以配置在database.properties当中,在这里我省去了这一步骤。
sqlMapConfig.xml
这个文件很简单,就是ibatis的数据库表操作的配置。详细内容如下:
UserBaseInfo.xml对应的是ibatis对于数据库model的映射以及操作处理,在这里也把配置操作贴出来给大家:
UserBaseInfo.xml
上面也介绍完了ibatis的接触配置,那么下面我们将介绍工程各个层级之间的配置:
userbaseinfo_DAO.xml
在这里我们配置了SqlMapClientFactoryBean, 它完成了spring 与ibatis的结合。这里不多讲了,大家自己看配置文件一下就明白了。
配置到这里我们应该吧DAO层的一个类的代码贴出来,让大家看看如何调用spring提供的ORM来操作数据库。从配置文件中已经可以看出就是通过sqlmapclient来进行。
接下来的SERVCE层和controller实际上就是利用spring的IOC来注入前一层次的类进行业务操作。这里不做过多介绍只是把代码贴给大家:
one-service.xml
controller.xml
在controller层为了减少java类的生成,我们利用了spring方法多处理器来进行方法的映射。
值此整个工程配置文件结束。希望对大家有点帮助。
下图是整个工程的结构图:
接下来我们分别介绍每个配置文件:
1. web.xml
web.xml主要是用于配置spring MVC的分发器以及listener(监听器)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>PregnantProject</display-name> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> WEB-INF/applicationContext.xml, WEB-INF/controller_config/controller-config.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
2. applicationContext.xml
在applicationContext中主要配置了spring的事务管理器, 视图解析器, 还有就是数据库连接设置信息。数据库的设置信息也可以配置在database.properties当中,在这里我省去了这一步骤。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!--事务管理DataSourceTransactionManager--> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean> <!-- 异常解析器 --> <bean id="simpleMappingExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">common/fileerror</prop> </props> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>12456</value> </property> <property name="url"> <value>jdbc:mysql://127.0.0.1:3306/pregnant</value> </property> </bean> </beans>
sqlMapConfig.xml
这个文件很简单,就是ibatis的数据库表操作的配置。详细内容如下:
<?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> <sqlMap resource="com/pregnant/config/bean/UserBaseinfo.xml"/> </sqlMapConfig>
UserBaseInfo.xml对应的是ibatis对于数据库model的映射以及操作处理,在这里也把配置操作贴出来给大家:
UserBaseInfo.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 namespace="UserBase"> <typeAlias alias="UserBaseInfo" type="com.pregnant.model.UserBaseInfo"/> <select id="getAllPerson" resultClass="UserBaseInfo"> SELECT * FROM user_baseInfo; </select> <insert id="insertOneUser" parameterClass="java.util.Map"> insert into user_baseInfo values(#userName#,#userEmail#,#userPhone#,#userPasswd#) </insert> <select id="getUserByEmail" resultClass="UserBaseInfo"> select * from user_baseInfo where userEmail = #email# </select> </sqlMap>
上面也介绍完了ibatis的接触配置,那么下面我们将介绍工程各个层级之间的配置:
userbaseinfo_DAO.xml
在这里我们配置了SqlMapClientFactoryBean, 它完成了spring 与ibatis的结合。这里不多讲了,大家自己看配置文件一下就明白了。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <import resource="../applicationContext.xml"/> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="configLocation"> <value>WEB-INF/dao_config/sqlMapConfig.xml</value> </property> </bean> <bean id="userBaseInfoDao" class="com.pregnant.daoImpl.UserBaseInfoDaoimpl"> <property name="sqlMapClient" ref="sqlMapClient"/> </bean> </beans>
配置到这里我们应该吧DAO层的一个类的代码贴出来,让大家看看如何调用spring提供的ORM来操作数据库。从配置文件中已经可以看出就是通过sqlmapclient来进行。
package com.pregnant.daoImpl; import java.util.List; import java.util.Map; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.pregnant.dao.IUserBaseInfoDao; import com.pregnant.model.UserBaseInfo; public class UserBaseInfoDaoimpl extends SqlMapClientDaoSupport implements IUserBaseInfoDao{ public List<UserBaseInfo> getAllUser(){ List<UserBaseInfo> list = getSqlMapClientTemplate().queryForList("UserBase.getAllPerson"); return list; } @Override public UserBaseInfo getUserByEmail(String email) { UserBaseInfo oneUser = (UserBaseInfo) getSqlMapClientTemplate().queryForObject(email); return oneUser; } @Override public void insertUserbaseInfo(Map info) { getSqlMapClientTemplate().insert("insertOneUser", info); return; } }
接下来的SERVCE层和controller实际上就是利用spring的IOC来注入前一层次的类进行业务操作。这里不做过多介绍只是把代码贴给大家:
one-service.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <import resource="../dao_config/userbaseinfo_dao.xml"/> <bean id="userBaseInfoService" class="com.pregnant.serviceImpl.UserBaseInfoServiceImpl"> <property name="userBaseInfoDao"> <ref bean="userBaseInfoDao"/> </property> </bean> </beans>
controller.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <import resource="../service_config/one_service.xml"/> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="userBaseHandle.do">userBaseInfoController</prop> </props> </property> </bean> <bean id="paraMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="whichMethod"/> </bean> <bean id="userBaseInfoController" class="com.pregnant.controller.UserBaseInfoController"> <property name="methodNameResolver"> <ref bean="paraMethodResolver"/> </property> <property name="userBaseInfoService"> <ref bean="userBaseInfoService"/> </property> </bean>
在controller层为了减少java类的生成,我们利用了spring方法多处理器来进行方法的映射。
值此整个工程配置文件结束。希望对大家有点帮助。
发表评论
-
分库,分表,纵表,水平,垂直划分
2013-04-10 16:52 0等待书写内容 -
107条Javascript的常用语句
2012-10-25 21:56 0107条Javascript的常用语句 1. ... -
HttpClient 学习整理
2012-10-12 11:19 1050HttpClient 学习整理 <转自>http ... -
java时间操作简单记录
2012-10-12 10:57 777进行开发的时候遇到了java时间的操作,下面简单的把代码写下来 ... -
mysql开发中点滴简单但是需要查找的问题
2012-10-10 17:26 01. 怎么样将java中的date类型插入到mysql的dat ... -
CSS工程的开发积累
2012-10-09 14:19 01. 列表项图像 有时候,常规的标志不够与页面的展示, ... -
Spring加载resource时classpath*:与classpath:的区别
2012-09-24 19:46 1160Spring加载resource时classpath*:与cl ... -
tomcat集群设置方法
2012-08-27 20:48 707APACHE 2.2.8+TOMCAT6.0.14配置负载均衡 ... -
SQL语句整理【转】
2012-08-09 13:09 864一、基础 1、说明:创建数据库 CREATE DATABASE ... -
mysql CONSTRANT(约束) 复习
2012-08-06 08:48 1071约束(Constraint)是Micros ... -
ibatis 模糊查询语句总结
2012-07-27 22:10 1056在涉及到ibatis的条件查询的时候,有下面几种查询方式: i ... -
Python 画图学习入门
2012-07-22 15:48 10487Python:使用matplotlib绘制图表 pyth ... -
mysql数据库的导入和导出
2012-07-22 09:14 755MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL ... -
LInux安装 java和tomcat
2012-06-12 16:23 1081这是一个简单的安装步骤,但是之前自己不熟悉linux的系统,所 ... -
java枚举类型(十分钟的复习)
2012-03-27 14:35 613枚举类型代码: public enum Color{ ... -
网站开发中安全问题初探
2012-03-26 13:07 705一个简单经典的SQL语句注入侵入: 一个网站需要用户输入use ... -
[转] Spring中配置log4j
2012-03-20 07:41 1033转 Spring中配置log4j 首先需要在web.xml进 ... -
spring 注解机制和XML配置机制之间的比较
2012-03-20 07:32 2909spring的annotation注入机制 ... -
java技术之泛型的学习
2011-03-18 18:05 619这是一年之前的PPT分享了,分享给峰哥,剑军,老付他们。很感谢 ...
相关推荐
Spring mvc 与Ibatis 技术的结合时目前比较流行的一种技术搭配,用于开发web应用.
开发环境说明 ...本示例完整地结合Struts2+Spring2+iBatis2+MySQL5,演示了一个用户表的增、删、改、查。 想完整学习Struts2+Spring+iBatis的同仁,可以在这个例子中学习或模仿最基本也是最核心的技术要点。
整理收集的适合于初学IBatis框架的人,里面有4个范例,简单入门!
ibatis 开发指南 ibatis Quick Start............................................................................................ 5 准备工作...........................................................
maven构建项目,简单的struts2、spring、mybatis结构实现,页面展示用的easyui
12.5.1. iBATIS 1.x和2.x的概览与区别 12.5.2. iBATIS SQL Maps 1.x 12.5.3. iBATIS SQL Maps 2.x 12.6. JPA 12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现...
书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涵盖全书的...
该项目以大型B2C电商线上销售系统为基准,并结合公司自身独有特性,开发出具有发展潜力的分享经济微商模式。松果旨在营造快速、便捷、舒适的线上购物体验,并提供秒杀等优惠活动。项目使用分布式框架,涉及管理员...
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组...
本书内容: ·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·...
本书内容: ·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·...
本书内容: ·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·...
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组...
12.5.1. iBATIS 1.x和2.x的概览与区别 12.5.2. iBATIS SQL Maps 1.x 12.5.2.1. 创建SqlMap 12.5.2.2. 使用 SqlMapTemplate 和 SqlMapDaoSupport 12.5.3. iBATIS SQL Maps 2.x 12.5.3.1. 创建SqlMapClient 12.5.3.2....
Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组...
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉...
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉...
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉...
本书内容: ·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层; ·声明式事务与事务管理; ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·访问J2EE服务,如JMS和EJB; ·...