`
istone
  • 浏览: 63209 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring进阶:Spring的CRUD

阅读更多

使用Spring的jdbc框架实现的CRUD:

<?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.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:comp/env/jdbc/summer</value>
		</property>
	</bean>
	-->
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
		<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
		<property name="url" value="jdbc:jtds:sqlserver://localhost:1433/summer" />
		<property name="username" value="" />
		<property name="password" value="" />
	</bean>

	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<bean id="userDao" class="com.summer.dao.impl.UserDaoImpl">
		<property name="jdbcTemplate" ref="jdbcTemplate" />
	</bean>
	
	<bean id="userTarget" class="com.summer.service.impl.UserServiceImpl">
		<property name="userDao" ref="userDao" />
	</bean>
	
	<bean id="userService" class="org.springframework.aop.framework.ProxyFactoryBean">
		<property name="target" ref="userTarget" />
		<property name="proxyInterfaces">
			<list>
				<value>com.summer.service.UserService</value>
			</list>
		</property>
	</bean>
	
</beans>

 

CRUD的Action(Servlet):

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.summer.entity.User;
import com.summer.service.UserService;

@SuppressWarnings("serial")
public class UserAction extends BaseAction {

	private UserService userService;

	public void getUserService() {
		userService = (UserService)super.getService("userService");   
		setUserService(userService);
	}

	public void setUserService(UserService userService) {
		this.userService = userService;
	}

	public UserAction() {
		super();
	}

	public void init() throws ServletException {
		getUserService();
	}
	
	public void destroy() {
		super.destroy();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * CRUD
	 **/
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String page = "user-list.jsp";
		String method = request.getParameter("m");
		RequestDispatcher forword = null;
		User user = null;
		int id = 0;
		String sid = request.getParameter("id");
		if(sid != "" && sid != null) {
			id = Integer.parseInt(sid);
		}
		
		char[] c;
		char m = 'r';
		if (method != "" && method != null) {
			c = method.toCharArray();
			m = c[0];
		}
		switch (m) {
		case 'r':
			request.setAttribute("allUsers", userService.findAll());
			forword = request.getRequestDispatcher(page);
			forword.forward(request, response);
			break;
		case 'c':
			page = "/userAction?m=r";
			user = (User) request.getAttribute("user");
			if(user.getId() != 0) {
				userService.update(user);
			} else {
				userService.save(user);
			}
			response.sendRedirect(page);
			break;
		case 'u':
			page = "/user-form.jsp";
			user = userService.findById(id);
			request.setAttribute("user", user);
			forword = request.getRequestDispatcher(page);
			forword.forward(request, response);
			break;
		case 'd':
			page = "/userAction?m=r";
			userService.delete(id);
			response.sendRedirect(page);
			break;
		default:
			request.setAttribute("allUsers", userService.findAll());
		forword = request.getRequestDispatcher(page);
		forword.forward(request, response);
			break;
		}
	}
}

 注:

      1.此程序需要spring.jar、commons-logging.jar、jstl.jar、standard.jar、jtds.jar、log4j.jar等jar包。

      2.原创文章,欢迎指导

分享到:
评论

相关推荐

    Spring进阶

    本资源包“Spring进阶”显然针对的是已经对Spring有一定基础的开发者,旨在帮助他们深入理解并掌握Spring的高级特性和用法。让我们详细探讨一下Spring的一些关键知识点。 首先,Spring的核心特性之一是依赖注入...

    Spring-data-jpa常用教程.pdf

    它不仅提供了简单的 CRUD 操作,还支持更复杂的查询、分页、排序等功能,并且与 Spring 框架无缝集成,使得开发者能够更加专注于业务逻辑而不是繁琐的数据访问细节。 #### 二、Spring-data-jpa 与 Spring 整合 ...

    详尽的Spring2.0学习提纲

    2. 高级特性实践:探索Spring Security、Spring WebSocket、Spring Boot等进阶主题,提升项目开发能力。 通过以上学习,你可以全面掌握Spring 2.0的核心技术和应用,为成为熟练的Spring开发者奠定坚实的基础。在...

    Java进阶教程数据层全栈方案SpringData高级应用视频教程

    5.SpringData ElasticSearch实现CRUD操作 第九章 SpringData MongDB 1.SpringData MongDB简介 2.MongDB环境搭建 3.MongDB基础知识回顾 4.SpringData MongDB入门案例 5.SpringData MongDB实现CRUD操作 第十章 综合...

    代码生成器:止步传统CRUD,进阶代码优化:一套基于Spring Boot + Vue + Shiro前逐步分离的代码生成器

    Spring Cloud阿里巴巴微服务版本地址: : 一,前言最近花了一个月时间完成了一套基于Spring Boot + Vue + Shiro前重置分离的代码生成器,目前项目代码已基本完成止步传统CRUD,进阶代码优化:该项目可根据数据库层次...

    Spring Data JPA从入门到精通

    4. **Repository接口**:Spring Data JPA的核心是Repository接口,通过继承自定义的Repository接口,开发者可以声明CRUD(创建、读取、更新、删除)操作以及自定义查询方法。 5. **Entity实体**:在Spring Data JPA...

    spring-framework-5.0.x.zip

    4. Spring Data:简化数据访问,支持JPA、JDBC、MongoDB等多种数据源,提供统一的CRUD操作接口。 5. Spring Security:提供全面的安全管理框架,包括认证、授权、会话管理等功能。 四、实战应用 在实际项目中,...

    Hibernate、structs、spring教程

    这四个CHM教程文件集合了关于Hibernate、Struts、Spring的详细教学内容,涵盖了从基础到进阶的所有知识点,适合初学者和有一定经验的开发者学习。通过深入学习和实践这些框架,你将能够构建出高效且易于维护的Java...

    spring boot教程源码

    在提供的"spring boot教程源码"中,我们可以看到按照章节进行组织的文件夹,包括 chapter1 到 chapter6,这通常意味着这是一个逐步进阶的学习资源,覆盖了从基础到进阶的多个主题。下面我们将详细探讨这些章节可能...

    SpringBlade

    SpringBlade是一个全面且强大的Java开发框架,专为简化企业级应用开发而设计。它基于Spring Boot、MyBatis Plus、Shiro等成熟技术构建,旨在提供一站式的解决方案,涵盖核心模块如权限管理、服务治理、监控分析等多...

    spring data jpa入门实例

    Spring Data JPA 是 Spring 框架的一个模块,它简化了数据库访问层(DAO)的开发,通过提供自动化的 Repository 实现,使得开发者无需编写大量的 CRUD(创建、读取、更新、删除)代码。Spring Data JPA 基于 Java ...

    SSM进阶(Spring+SpringMVC+Mybatis)

    综上所述,这个进阶的SSM项目不仅涵盖了基础的CRUD操作,还强化了分页查询和SQL调试能力,为实际开发中遇到的问题提供了解决方案。这样的实践有助于提升开发者对SSM框架的理解和使用技巧,进一步提升开发效率和代码...

    Spring Data JPA.zip

    - **强大的查询支持**:除了简单的 CRUD 方法,Spring Data JPA 还支持基于方法名的复杂查询,甚至可以使用 JPA Querydsl 或 Specification 进行更复杂的查询。 - **事务管理**:Spring Data JPA 结合 Spring 的事务...

    SSM进阶3(Spring+SpringMVC+Mybatis)

    **SSM进阶3:Spring+SpringMVC+Mybatis** 在Java开发中,Spring、SpringMVC和Mybatis组成的SSM框架是一个广泛使用的轻量级应用框架,它提供了强大的控制层、服务层和持久层的支持。这个进阶教程将深入讲解如何利用...

    于洋spring

    "于洋spring"是传智播客推出的一系列关于Spring框架的教程,旨在帮助初学者和进阶者深入理解并熟练掌握Spring的核心概念和技术。 一、Spring框架基础 1. **IoC(Inversion of Control)控制反转**:Spring的核心...

    spring-framework-4.3.2.RELEASE官方完整包加官方文档

    文档详细介绍了Spring的各个模块、API使用、最佳实践等内容,涵盖了从新手入门到高级进阶的所有主题。通过阅读和参考这些文档,开发者可以深入理解Spring的工作原理,并有效地将其应用于实际项目。 七、4.3.2....

    Spring Data JPA系列3:JPA项目中核心场景与进阶用法介绍.doc

    本篇文章主要关注Spring Data JPA在项目中的核心场景与进阶用法,旨在帮助开发者更高效地利用这个框架。 首先,Repository 是Spring Data JPA的核心组件,它为数据访问提供了一种声明式的方法。Repository接口层级...

    Spring面试题(含答案)_.zip

    Spring框架是Java开发中最常用的轻量级框架之...这些知识点涵盖了Spring框架的基础和进阶内容,对于理解和应对Spring相关的面试非常有帮助。在实际工作中,深入理解并熟练运用这些概念可以提高开发效率,优化应用设计。

    java面试综合.zip

    4. Spring Data JPA:ORM映射,CRUD操作,Repository接口,以及Spring Data的其他模块(如MongoDB支持)。 5. Spring Cloud:微服务架构,Eureka服务发现,Ribbon客户端负载均衡,Hystrix断路器等。 四、英文面试题...

Global site tag (gtag.js) - Google Analytics