Spring进阶:Spring的CRUD

本文介绍了一个使用Spring框架的jdbc模块实现的基本CRUD操作案例。该案例详细展示了如何配置数据源、创建JdbcTemplate实例以及实现增删改查业务逻辑的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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.原创文章,欢迎指导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值