SpringMvc学习-增删改查
本节主要介绍SpringMVC简单的增删改查功能。
1.查询
dao中的代码
public List<WeatherPojo> getAllWeather(){
String sql="select * from weathertest";
List<WeatherPojo> pojos=new ArrayList<WeatherPojo>();
pojos= jdbcTemplate.query(sql,new RowMapper() {
@Override
public Object mapRow(ResultSet rs, int arg1) throws SQLException {
// TODO Auto-generated method stub
WeatherPojo weather=new WeatherPojo();
weather.setName(rs.getString("name"));
weather.setPassword(rs.getString("password"));
weather.setId(rs.getInt("id"));
return weather;
}
});
return pojos;
}
查询
同事,还可以写service和serviceimpl。需要对jdmctempl添加注解
@Autowired
private JdbcTemplate jdbcTemplate;
在impl中需要对dao添加注解
@Autowired
private WeatherDao weatherDao;
在controller中调用服务
@Autowired
private WeatherServiceImpl weatherService;
@RequestMapping(params="method=query")
public ModelAndView getAllWeather(HttpServletRequest request,HttpServletResponse response){
List<WeatherPojo> pojos=weatherService.getWeatherList();
request.setAttribute("weathers", pojos);
System.out.println(pojos.get(0).getName());
return new ModelAndView("weatherlist");
}
通过modelandview返回页面,页面代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<div><a href="<%=basePath %>weather.do?method=add">添加</a></div>
<div>
<table>
<thead>
<tr>
<th>姓名</th>
<th>说明</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach var="item" items="${weathers}">
<tr>
<td>${item.name }</td>
<td>${item.password }</td>
<td></td>
<td><a href="<%=basePath %>weather.do?method=edit&id=${item.id}">编辑</a><a href="<%=basePath %>weather.do?method=delete&id=${item.id}">删除</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</body>
</html>
list
2.增加
dao中代码
public void addWeather(WeatherPojo weather){
String sql="insert into weathertest(id,name,password) values("+weather.getId()+",'"+weather.getName()+"','"+weather.getPassword()+"')";
jdbcTemplate.execute(sql);
}
controller代码,get方法是进入新增页面,页面传递空对象。post方法为添加新的记录
@RequestMapping(params="method=add",method=RequestMethod.GET)
public ModelAndView addWeather(HttpServletRequest request,HttpServletResponse reponse){ request.setAttribute("weather", new WeatherPojo());
return new ModelAndView("weatheradd");
}
@RequestMapping(params="method=add",method=RequestMethod.POST)
public ModelAndView addWeather(WeatherPojo weather){ weatherService.addWeather(weather);
return new ModelAndView("redirect:/weather.do?method=query");
}
jsp页面代码
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="<%=basePath%>weather.do?method=add" method="post">
<label for="id">id</label>
<input name="id"/><br>
<label for="name">name</label>
<input name="name"><br>
<label for="password">password</label>
<input name="password"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
3.修改
dao中代码:
public void editWeather(WeatherPojo weather){
String sql="update weathertest set name='"+weather.getName()+"',password='"+weather.getPassword()+"' where id="+weather.getId()+"";
jdbcTemplate.execute(sql);
}
controller代码
@RequestMapping(params="method=edit",method=RequestMethod.GET)
public ModelAndView editWeather(HttpServletRequest request,HttpServletResponse response){ int id=Integer.valueOf(request.getParameter("id"));
WeatherPojo weather=new WeatherPojo();
weather=weatherService.getWeatherById(id);
ModelAndView mav=new ModelAndView("editweather");
request.setAttribute("weather", weather);
System.out.println("--------"+weather.getId());
System.out.println("--------"+weather.getName());
System.out.println("--------"+weather.getPassword());
return mav;
}
@RequestMapping(params="method=edit",method=RequestMethod.POST)
public ModelAndView editWeather(WeatherPojo weather){
weatherService.editWeather(weather);
return new ModelAndView("redirect:/weather.do?method=query");
}
jsp页面:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="<%=basePath%>weather.do?method=edit" method="post">
<label for="id">id</label>
<input name="id" readonly="true" value="${weather.id }"/><br>
<label for="name">name</label>
<input name="name" value="${weather.name }"><br>
<label for="password" >password</label>
<input name="password" value="${weather.password }"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
4.删除
dao中代码:
//delete
public void deleteWeather(int id){ String sql="delete from weathertest where id="+id;
jdbcTemplate.execute(sql);
}
controller代码:
@RequestMapping(params="method=delete",method=RequestMethod.GET)
public ModelAndView deleteWeather(HttpServletRequest request,HttpServletResponse response){
int id=Integer.valueOf(request.getParameter("id"));
weatherService.deleteWeather(id);
//页面重定向
return new ModelAndView("redirect:/weather.do?method=query");
}
jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<div><a href="<%=basePath %>weather.do?method=add">添加</a></div>
<div>
<table>
<thead>
<tr>
<th>姓名</th>
<th>说明</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach var="item" items="${weathers}">
<tr>
<td>${item.name }</td>
<td>${item.password }</td>
<td></td>
<td><a href="<%=basePath %>weather.do?method=edit&id=${item.id}">编辑</a><a href="<%=basePath %>weather.do?method=delete&id=${item.id}">删除</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</body>
</html>
SpringMvc学习-增删改查的更多相关文章
- springMVC实现增删改查
首先需要准备好一张数据库表我这里用emp这张表:具体代码: /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.1.73-community ************* ...
- Oracle的登陆问题和初级学习增删改查(省略安装和卸载)
1:学习Oracle首先需要安装Oracle,网上已经有很多很多教程了,这里不做叙述,自己百度即可,这里安装的标准版,个人根据需求安装学习或者企业开发即可.如果安装出错,自己百度Oracle的卸载即可 ...
- springMVC之增删改查
一.核心原理 1. 用于发送请求给server: /home.htm 2. 请求被DispatchServlet拦截到 3. DispatchServlet通过HandleMapping检查url有没 ...
- 基于SpringMVC的增删改查
废话不多说,直接开始步骤! 1.创建一个Dynamic Web Project 2.在WEB-INF包下的lib文件夹中引入相关jar commons-logging-.jar jstl.jar sp ...
- 【SpringBoot】11-1.Springboot整合Springmvc+Mybatis增删改查操作(下)
整合过程:https://www.isdxh.com/68.html 一.增--增加用户 1.创建实体类 package com.dxh.pojo; public class Users { priv ...
- 总结day5 ---- ,字典的学习,增删改查,以及字典的嵌套, 赋值运算
内容大纲: 一:字典的定义 二:字典的增加 >1:按照key增加, 无则增加,有则覆盖 >2:setdefault() ,无则增加,有则不变 三:字典的删除 >1:pop() ...
- SpringMVC之简单的增删改查示例(SSM整合)
本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...
随机推荐
- 类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。
问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat= ...
- StartService与BindService
效果图 MainActivity.java package com.wangzhen.servicedemo; import com.lidroid.xutils.ViewUtils; import ...
- Winform 无边框随意拖动【转载】
本篇技术内容转载自:http://www.cnblogs.com/ap0606122/archive/2012/10/23/2734964.html using System; using Syste ...
- Solr中schema.xml的解释
接Solr-4.10.2与Tomcat整合.schema.xml位于D:\solr\data\solr\collection1\conf\中.1.fieldType节点 name: FieldT ...
- webrtc之视频捕获模块--video_capture
webrtc的video_capture模块,为我们在不同端设备上采集视频提供了一个跨平台封装的视频采集功能,如下图中的webrtc的video_capture源码,现webrtc的video_cap ...
- Window7下手动编译最新版的PCL库
PCL简介 PCL是Point Cloud Library的缩写,是一个用于处理二维图像,三维深度图像和三维点云的C++库.该库是完全开源的,可免费用于商业和学术研究. 官方网站:http://poi ...
- php+mysql将大数据sql文件导入数据库
<?php $file_name = "d:test.sql"; $dbhost = "localhost"; $dbuser = "root& ...
- sql 更新一列为行号
update u_menu set issort=t1.rowId from ( --select * from --( select cmenu_id,ROW_NUMBER() over(O ...
- PHP原始的数据库操作
<?php //这是一个工具类;作用是完成对数据库的操作; class SqlHelper{ public $conn; public $dbname=& ...
- 读mongoose api 记录
mongoose 需要在Schemas基础上进行使用 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var blo ...