鉴于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的用户管理系统(增删查改)的更多相关文章

  1. myBatis 实现用户表增删查改操作<方法1 没有使用接口的>(最终版)

    在UserMapper.xml中添加增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  2. myBatis 实现用户表增删查改操作<方法2 加入接口>(最终版)

    这2种方法的区别:1.添加接口 2.运用接口来实现 其他的都一样 添加接口 //接口的名字和xml的名字一样,这样xml中的namespace就不用改 public interface UserMap ...

  3. node.js+express+mongoose实现用户增删查改案例

    node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...

  4. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  5. JAVA原生mvc实现用户信息的增删查改

    笔者最近学完jsp和servlet,于是心血来潮的打算写个简单的用户案例 环境准备: 开发工具eclipse jdk-1.8.0_72 tomcat-9.0.5 前端部分: 1.自己手写了一套样式 2 ...

  6. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  7. Sql Server的艺术(一) 视图的增删查改

    视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...

  8. java实现简单的数据库的增删查改,并布局交互界面

        一.系统简介 1.1.简介  本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...

  9. PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)

    php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...

随机推荐

  1. Too Many open files 问题排查

    问题描述:使用netty做性能测试时,并发过大造成Too Many open files问题 该类错误是因为linux系统对socket连接时需要打开的文件句柄数有限制可以通过ulimit -a 查看 ...

  2. 【专题】概率期望DP

    11.22:保持更新状态:主要发一些相关的题目和个人理解 (P.S.如果觉得简单,可以直接看后面的题目) upd 11.30 更完了 [NO.1] UVA12230 Crossing Rivers  ...

  3. Wireshark 、HTTPWatch、Fiddler的介绍

    一.Wireshark  <TCP/IP协议监听> Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包 ...

  4. C - Fafa and his Company

    Problem description Fafa owns a company that works on huge projects. There are n employees in Fafa's ...

  5. C# html生成PDF遇到的问题,从iTextSharp到wkhtmltopdf

    我们的网站业务会生成一个报告,用网页展示出来,要有生成pdf并下载的功能,关键是生成pdf. 用内容一段段去拼pdf,想想就很崩溃,所以就去网上找直接把html生成pdf的方法. 网上资料大部分都是用 ...

  6. [转]JAVA回调机制(CallBack)详解

    看见一篇博客比较通俗的解释了回调机制,转载一下,感谢原文作者Bro__超,原文地址:http://www.cnblogs.com/heshuchao/p/5376298.html 序言 最近学习jav ...

  7. 【Oracle】体系结构

    1. 理解实例和数据库 ☞ 实例是一组后台进程和共享内存 ☞ 数据库是磁盘上存储的数据集合 ☞ 实例“一生”只能装载并打开一个数据库 ☞ 数据库可以由一个或多个实例(RAC)装载和打开 [oracle ...

  8. 【sqli-labs】 less6 GET - Double Injection - Double Quotes - String (双注入GET双引号字符型注入)

    同less5 单引号改成双引号就行 http://localhost/sqli/Less-6/?id=a" union select 1,count(*),concat((select ta ...

  9. jquery.datatable.js实际运用

    $.dataTablesSettings = { deferRender: true,// 当处理大数据时,延迟渲染数据,有效提高Datatables处理能力 bStateSave: true,//表 ...

  10. spring IOC 装配一个bean

    1.0属性注入 新建一个people类 package com.java.test3; /** * @author nidegui * @create 2019-06-22 14:45 */ publ ...