鉴于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. 日期Date和String/Long之间的转换

    下面是关于日期的常见的几种类型转换: import java.text.ParseException; import java.text.SimpleDateFormat; import java.u ...

  2. Java code List Map, HashMap, JSON parser snippet

    package com.newegg.ec.solr.eventsalestoreservice.tuple; import kafka.message.MessageAndMetadata; pub ...

  3. AI:恐怖谷理论的陷阱

    科学人的小品:恐怖谷:娃娃为什么很可怕? 一.恐怖的来源 恐怖的来源:美学概念.思想对安全的认识,映射到美学领域,转化为美和丑.恐怖,是一种精心掩饰的丑陋. 二.桑尼与C3PO 桑尼更接近于人,为什么 ...

  4. 深圳面试一周记录——.NET(B/S)开发

    个人简单信息:2011年毕业,最高学历大专,最近一份工作在广州:有做架构设计经验,有一年的带团队(10人左右)经验:互联网和行业软件公司都待过. 为免不必要的争论,本文说地址的就不说公司行业,说公司行 ...

  5. emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题

    想要更详细了解pjax,需要查看官网 或者看本站文章:jQuery.pjax.js:使用AJAX和pushState无刷新加载网页(官网教程中文翻译) 效果看本站,音乐无刷新播放,代码高亮和复制js加 ...

  6. phpstorm 使用

    常用快捷 ctrl + / 单行注释 Alt+1 隐藏左侧任务栏 设置 1:control+shift+A功能可以搜索对应功能,把mouse:Change font size(Zoom) ...的按钮 ...

  7. Jquery常见操作多选框/复选框/checkbox

    1.判断checkbox是否为选中状态: if($("#searchNews").attr("checked")=="checked") { ...

  8. java中反射讲解及实例

    Java反射机制详解 java 反射 定义 功能 示例 概要: Java反射机制详解 | |目录 1反射机制是什么 2反射机制能做什么 3反射机制的相关API ·通过一个对象获得完整的包名和类名 ·实 ...

  9. windows7下搭建HTTP服务器

      打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务. 2 更新完成后,打开浏览器,输入“ ...

  10. 死磕itchat源码--config.py

    itchat的配置文件,源码: import os, platform # 版本及微信的url,二维码等 VERSION = '1.3.10' BASE_URL = 'https://login.we ...