欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring MVC+SimpleJdbcDaoSupport增删改查小例子

程序员文章站 2022-05-17 09:31:21
...
散仙,上次给的例子是基于Spring MVC+JDBC的方式做的持久层,本次就来个稍微高级点的使用Spring MVC+JDBC持久模板的方式,来完成一个基于Web的增删改查的小项目,后面会给出基于MyBatics,或Hibernate,JPA方式做持久层,基于Spring MVC整合的小例子。

下面先简单介绍下开发环境:
道具 名称
IDE工具 MyEclipse10
web容器 Tomcat6
JDK版本 1.7
数据库 MySQL5.1
环境 Windows
最重要的道具 屌丝程序员一枚




下面开始开工,在这之前,先来个项目的结构截图,来看下整体概貌。

Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 

Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 


Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 


Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 

Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 


Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 

ac.xml里面的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byName"
	xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"    xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
	
	">
	
	 <!-- 读取配置文件 -->
	<bean id="config" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="locations">
	 <value>classpath:connection.properties</value>
	</property>
	</bean>
	
	<!-- 配置事务管理 -->
 <bean id="tx"
  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   
 </bean>
	 <!-- 配置数据源 -->
    <bean id="dataSource" name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="username" value="${db.username}"></property>
    <property name="password" value="${db.password}"></property>
    <property name="url" value="${db.url}"></property>
    <property name="driverClassName" value="${db.driver}"></property>
    </bean>
		<!-- 定义事务通知 -->
	 <tx:advice id="txAdvice" transaction-manager="tx">
	  <tx:attributes>
	  <tx:method name="*" propagation="REQUIRED"/>
	  <tx:method name="get*" propagation="REQUIRED"/>
	  <tx:method name="add*" propagation="SUPPORTS"/>
	  <tx:method name="delete*" propagation="SUPPORTS"/>
	  <tx:method name="update*" propagation="SUPPORTS"/>
	  </tx:attributes>
	 </tx:advice>
	 	<!-- 定义aop切面 -->
	<aop:config>
	<aop:pointcut expression="execution(*  com.qin.dao.impl.*.*(..))" id="pc"/>
	<aop:advisor  pointcut-ref="pc" advice-ref="txAdvice"/>
	</aop:config> 
	 <!-- 注入数据源 -->
	 <bean name="dao" class="com.qin.dao.impl.UserModelImpl">
	 <property name="dataSource" ref="dataSource"></property>
	 </bean>
	
	
	 
	
</beans>

qin-servlet.xml里面的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- HandlerMapping -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    
    <!-- HandlerAdapter -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    
    <!-- ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
  
     
     
    <!-- 表单映射器 -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    
    <property name="mappings">
    
    <props>
    <prop key="add">add</prop>
    <prop key="save">save</prop>
    </props>
    </property>
    
    </bean>
    
    <!-- 处理器 -->
    <bean name="/hellow" class="com.qin.controller.HellowController"/>
    
    <bean name="/indexAll" class="com.qin.controller.QueryAllUserController">
     
    </bean>
    
    <bean id="add" name="/add" class="com.qin.controller.AddController"></bean>
    <bean name="/delete" class="com.qin.controller.DeleteController"></bean>
    <bean name="/update" class="com.qin.controller.UpdateController"></bean>
    <bean id="save" name="/save" class="com.qin.controller.SaveController"></bean>
</beans>


web.xml里面的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>	
  <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:ac*.xml</param-value>
 </context-param>
  <servlet>
  <servlet-name>qin</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <!-- 配置拦截  action为后缀名的请求 -->
 <servlet-mapping>
  <servlet-name>qin</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>
 
 <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 
     
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>





怎么样,是不是有种熟悉的感觉,这个小项目是基于XML的方式配置Controller的,并没有使用注解的方式,每一个控制器,还是对应一个实体类,
需要重点说明的是src目录下的ac.xml和WEB-INFO下面的qin-servlet.xml这两者之间的关系
,其实,他们的功能大部分时候都是一样的,只是在src目录下的ac.xml,感觉用来和Struts的项目结合的多一些,不过只要当服务器启动的时候,这两个spring的配置文件都会被加载,有一点不同的是,Spring MVC的一些控制器实例,只能在qin-servlet.xml里面,进行实例化,以及一些具体的控制器里面的一些实体类的注入,也需要在这里面进行。其他的功能,比如说事务的功能,AOP的功能,在这两个xml任意一个里面配置都可以。











  • Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 
  • 大小: 55.3 KB
  • Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 
  • 大小: 42 KB
  • Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 
  • 大小: 15.3 KB
  • Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 
  • 大小: 46.8 KB
  • Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 
  • 大小: 16.1 KB
  • Spring MVC+SimpleJdbcDaoSupport增删改查小例子
            
    
    博客分类: JAVA EE springSpring MVCJDBC模板 
  • 大小: 48.1 KB