基于SpringMVC+SpringJDBC的用户管理系统(增删查改)
鉴于MyBatis暂时不会用,所以用刚学的SpringJDBC代替,也很简洁。以下贴出几个重要的代码。
1.UserDaoImpl数据库操作实现类
package com.wxy.dao.impl; import com.wxy.pojo.User;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; @Repository("userDao")
public class UserDaoImpl{
//获取JdbcTemplate实例
@Resource(name="jdbcTemplate")
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
//执行SQL语句的方法
public void execute() {
jdbcTemplate.execute("create table account8( id int primary key auto_increment,"
+ "username varchar(50)," + "balance double)");
}
//添加用户 public void addUser(User user) {
String sql = "insert into user(id,name,age) value("+user.getId()+",'"+user.getName()+"',"+user.getAge()+")";
this.jdbcTemplate.update(sql);
}
//更新用户信息
public void updateUser(User user){
String sql = "update user set name='"+user.getName()+"',age="+user.getAge()+" where id="+user.getId()+"";
this.jdbcTemplate.update(sql);
}
//删除用户
public void deleteUser(int id) {
String sql = "delete from user where id =?";
jdbcTemplate.update(sql,id);
}
//查询所有用户
public List<User> query() {
String listSql = "select * from user";
RowMapper<User> rowMapper = new BeanPropertyRowMapper<User>(User.class);
List<User> users = this.jdbcTemplate.query(listSql,rowMapper);
return users;
}
}
UserDaoImpl
2.UserController数据绑定和页面跳转
package com.wxy.controller; import com.wxy.dao.impl.ServiceImpl;
import com.wxy.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List; @Controller("userController")
public class UserController {
@Resource(name="userService")
ServiceImpl userService;
public void setUserService(ServiceImpl userService) {
this.userService = userService;
} //跳转添加页面
@RequestMapping("touseradd")
public String useradd(){ return "useradd"; } //执行添加操作,并跳转至成功页面
@RequestMapping("/useradd.action")
public String add(Model model, User user){
userService.addUser(user);
return "success";
} //跳转至修改页面
@RequestMapping("/touserupdate")
public String userupdate(){ return "userupdate"; } //执行修改操作
@RequestMapping("/userupdate.action")
public String update(User user){
userService.updateUser(user);
return "success";
} //跳转至查询页面
@RequestMapping("/touserlist")
public String userselect(){ return "userlist"; } //执行查询操作
@RequestMapping("/userselect.action")
public String query(HttpServletRequest request, HttpServletResponse response) {
List looklist = userService.query();
request.setAttribute("looklist", looklist);
return "forward:touserlist";
} //执行删除操作
@RequestMapping("/delete.action")
public String delete(int id){
userService.deleteUser(id);
return "forward:userselect.action";
}
}
UserController
3.userlist.jsp显示用户信息
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户列表</title>
</head>
<body>
<table align="center" border=2>
<tr bgcolor="#eeee99">
<td>序号</td>
<td>Id</td>
<td>Name</td>
<td>Age</td>
<td>选择</td>
<td>操作</td>
</tr>
<c:set var="j" value="1"></c:set>
<c:forEach var="lists" items="${requestScope.looklist }">
<tr>
<td>${j }</td>
<td>${lists.id }</td>
<td>${lists.name }</td>
<td>${lists.age}</td>
<td><a href="${pageContext.request.contextPath}/touserupdate?id=${lists.id}">修改</a></td>
<td><a href="${pageContext.request.contextPath}/delete.action?id=${lists.id}">删除</a></td>
</tr>
<c:set var="j" value="${j+1 }"></c:set>
</c:forEach>
</table>
<br>
<center>
<form action="${pageContext.request.contextPath }/userselect.action">
<input type="submit" value="刷新">
</form>
<form action="${pageContext.request.contextPath }/touseradd">
<input type="submit" value="返回添加">
</form>
</center>
</body>
</html>
userlist.jsp
4.springmvc-servlet.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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--<mvc:annotation-driven/>-->
<context:annotation-config/>
<!--配置数据源-->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/springjdbc"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!--配置JDBC模板-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--配置注入类-->
<bean id="userDao" class="com.wxy.dao.impl.UserDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
<bean id="userService" class="com.wxy.dao.impl.ServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
<bean id="userController" class="com.wxy.controller.UserController">
<property name="userService" ref="userService"></property>
</bean>
<!-- 指定需要扫描的包 -->
<context:component-scan base-package="com.wxy.controller"></context:component-scan>
<context:component-scan base-package="com.wxy.dao.impl"></context:component-scan>
<!-- 定义视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 设置前缀 -->
<property name="prefix" value="/jsp/"></property>
<!-- 设置后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
springmvc-servlet.xml
配置方式XML和注解选用一种即可。
基于SpringMVC+SpringJDBC的用户管理系统(增删查改)的更多相关文章
- myBatis 实现用户表增删查改操作<方法1 没有使用接口的>(最终版)
在UserMapper.xml中添加增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...
- myBatis 实现用户表增删查改操作<方法2 加入接口>(最终版)
这2种方法的区别:1.添加接口 2.运用接口来实现 其他的都一样 添加接口 //接口的名字和xml的名字一样,这样xml中的namespace就不用改 public interface UserMap ...
- node.js+express+mongoose实现用户增删查改案例
node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- JAVA原生mvc实现用户信息的增删查改
笔者最近学完jsp和servlet,于是心血来潮的打算写个简单的用户案例 环境准备: 开发工具eclipse jdk-1.8.0_72 tomcat-9.0.5 前端部分: 1.自己手写了一套样式 2 ...
- 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- Sql Server的艺术(一) 视图的增删查改
视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...
- java实现简单的数据库的增删查改,并布局交互界面
一.系统简介 1.1.简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...
- PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)
php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...
随机推荐
- 【STM32H7教程】第23章 STM32H7的MPU内存保护单元(重要)
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第23章 STM32H7的MPU内存保护单元 ...
- C - cAPS lOCK
Problem description wHAT DO WE NEED cAPS LOCK FOR? Caps lock is a computer keyboard key. Pressing it ...
- matplotlib之pyplot 学习示例
现在通过numpy和matplotlib.pyplot 在Python上实现科学计算和绘图,而且和matlab极为相像(效率差点,关键是方便简单) 这里有大量plots代码例子. 1. 简单的绘图( ...
- 关于php初学者的理解!请大家浏览并指出不足!谢谢!
昨天开始学习php,由于之前是学习.NET的,刚接触php,就关于语法就是各种不适应,什么js,jq在脑子里一团浆糊..过了一天感觉好了点,现在有点想法,大家欢迎交流批评! 今天用php做了个登录,判 ...
- 复习java的例子(第一天)
1. 编写程序:从键盘上读入一个学生成绩, 存放在变量score中,根据score的值输出其对应的成绩等级: score>=90 等级: A 70=<score<90 等级: B 6 ...
- redis-linux
redis3.0.4 server版本 jedis-2.7.2.jar spring-data-redis-1.6.0.RELEASE.jar commons-pool2-2.3.jar spring ...
- 读书笔记「Python编程:从入门到实践」_9.类
9.1 创建和使用类 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想. OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把 ...
- jq 禁用复选框 和输入框
$('input').attr("readonly", ""); $('input').attr("disabled", "fal ...
- 【剑指Offer】59、按之字形顺序打印二叉树
题目描述: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路: 这道题仍然是二 ...
- 纯CSS 3D翻转一个面(翻转导航菜单 立方体)
在做练习的时候学到css的翻转导航菜单,原代码有点让人头疼,通过对其css的参数一点点研究了其实现过程. 这里推荐大家研究这个3D翻转动画的代码. 我的github:swarz,欢迎给老弟我++星星 ...