基于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对文章的基本增删查改操作 前台展示系统有:文章 ...
随机推荐
- 初学Hibernate杂乱总结
1.如果在"one"方中(如部门)写有Set属性,但是没有在映射文件中配置,那么,在获取指定部门下的所有员工时,不会报错,但是,Set内的元素个数为0.输出为"[]&qu ...
- create-react-app 中设置反向代理、项目打包资源引入路径设置及 map 文件
1.配置反向代理 (1)porxy 配置一个代理 修改package.json文件 "proxy":"http://teng.com/website/web", ...
- 分布式文件管理系统MooseFS在centOS 7中的安装
首先,MooseFS是做什么的在这边不做具体详述,这边主要记录一下我在自己部署MooseFS中遇到的问题和步骤(大部分参考的其他博客或者资料) 首先是准备资源,MooseFS的最新安装包可以去官网下载 ...
- sql server 数据库优化--显示执行计划
刚开始用SQL Server的时候,我没有用显示执行计划来对查询进行分析.我曾经一直认为我递交的SQL查询都是最优的,而忽略了查询性能究竟如何,从而对“执行计划”重视不够.在我职业初期,我只要能获 ...
- Java_Web之宠物管理系统
使用JSP+servLet实现宠物管理系统,oraC1e11g作为后台数据厍,实现查看宠物和增加宠物的功能由你实现,如图: 其中宠物包栝:狗.猫.鸟.鼠 具体要求及推荐实现步骤 第一步:创建数据库代码 ...
- 使用CImage类 显示图片
在不适用openCv的一种时候,使用CImage显示图片数据,并且直接嵌入DC框中. 使用CImage 在pic控件里显示图片 void CMyCalLawsDlg::MyShowImage( CIm ...
- 视频及MP3 播放浅析 Jplayer参数详细
初识jplayer插件是因为它的兼容性是最好的,可以兼容到IE6,官网上对它兼容性有很详细的说明 这个是我选择使用它的首要原因. 现在从需求上来了解它的使用方法吧.第一个需求:MP3格式的音频在网页播 ...
- day009 文件操作
文件操作 文件路径 d:\test.txt 编码方式 utf-8 gbk... 操作方式 操作方式:只读,只写,追加,读写,写读..... 以什么编码方式储存的文件,就以什么编码打开进行操作. 只读: ...
- 机器学习K-Means
1.K-Means聚类算法属于无监督学习算法. 2.原理:先随机选择K个质心,根据样本到质心的距离将样本分配到最近的簇中,然后根据簇中的样本更新质心,再次计算距离重新分配簇,直到质心不再发生变化,迭代 ...
- eas之载入编辑界面时设置明细默认值createNewDate()
protected com.kingdee.bos.dao.IObjectValue.createNewDate(){ //new一个对象 PurOrderInfo info=new Pu ...