SpringMvc学习-增删改查
时间:2022-04-29
本文章向大家介绍SpringMvc学习-增删改查,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本节主要介绍SpringMVC简单的增删改查功能。
1.查询
dao中的代码
1 public List<WeatherPojo> getAllWeather(){
2
3 String sql="select * from weathertest";
4 List<WeatherPojo> pojos=new ArrayList<WeatherPojo>();
5 pojos= jdbcTemplate.query(sql,new RowMapper() {
6
7 @Override
8 public Object mapRow(ResultSet rs, int arg1) throws SQLException {
9 // TODO Auto-generated method stub
10 WeatherPojo weather=new WeatherPojo();
11 weather.setName(rs.getString("name"));
12 weather.setPassword(rs.getString("password"));
13 weather.setId(rs.getInt("id"));
14 return weather;
15 }
16 });
17 return pojos;
18 }
同事,还可以写service和serviceimpl。需要对jdmctempl添加注解
@Autowired private JdbcTemplate jdbcTemplate;
在impl中需要对dao添加注解
@Autowired private WeatherDao weatherDao;
在controller中调用服务
1 @Autowired
2 private WeatherServiceImpl weatherService;
3 @RequestMapping(params="method=query")
4 public ModelAndView getAllWeather(HttpServletRequest request,HttpServletResponse response){
5 List<WeatherPojo> pojos=weatherService.getWeatherList();
6 request.setAttribute("weathers", pojos);
7 System.out.println(pojos.get(0).getName());
8 return new ModelAndView("weatherlist");
9 }
通过modelandview返回页面,页面代码如下:
1 <%@ page language="java" contentType="text/html; charset=utf-8"
2 pageEncoding="utf-8"%>
3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4 <%String path = request.getContextPath();
5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6 %>
7 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
8 <html>
9 <head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
11 <title>Insert title here</title>
12 </head>
13 <body>
14 <div><a href="<%=basePath %>weather.do?method=add">添加</a></div>
15 <div>
16 <table>
17 <thead>
18 <tr>
19 <th>姓名</th>
20 <th>说明</th>
21 <th>操作</th>
22 </tr>
23 </thead>
24 <tbody>
25 <c:forEach var="item" items="${weathers}">
26 <tr>
27 <td>${item.name }</td>
28 <td>${item.password }</td>
29 <td></td>
30 <td><a href="<%=basePath %>weather.do?method=edit&id=${item.id}">编辑</a><a href="<%=basePath %>weather.do?method=delete&id=${item.id}">删除</a></td>
31 </tr>
32 </c:forEach>
33 </tbody>
34 </table>
35 </div>
36 </body>
37 </html>
2.增加
dao中代码
1 public void addWeather(WeatherPojo weather){
2 String sql="insert into weathertest(id,name,password) values("+weather.getId()+",'"+weather.getName()+"','"+weather.getPassword()+"')";
3 jdbcTemplate.execute(sql);
4 }
controller代码,get方法是进入新增页面,页面传递空对象。post方法为添加新的记录
1 @RequestMapping(params="method=add",method=RequestMethod.GET)
2 public ModelAndView addWeather(HttpServletRequest request,HttpServletResponse reponse){
3
4 request.setAttribute("weather", new WeatherPojo());
5 return new ModelAndView("weatheradd");
6 }
7 @RequestMapping(params="method=add",method=RequestMethod.POST)
8 public ModelAndView addWeather(WeatherPojo weather){
9
10 weatherService.addWeather(weather);
11 return new ModelAndView("redirect:/weather.do?method=query");
12 }
jsp页面代码
1 <%@ page language="java" contentType="text/html; charset=utf-8"
2 pageEncoding="utf-8"%>
3 <%String path = request.getContextPath();
4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 %>
6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
7 <html>
8 <head>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
10 <title>Insert title here</title>
11 </head>
12 <body>
13 <form action="<%=basePath%>weather.do?method=add" method="post">
14 <label for="id">id</label>
15 <input name="id"/><br>
16 <label for="name">name</label>
17 <input name="name"><br>
18 <label for="password">password</label>
19 <input name="password"><br>
20 <input type="submit" value="提交">
21 </form>
22 </body>
23 </html>
3.修改
dao中代码:
1 public void editWeather(WeatherPojo weather){
2 String sql="update weathertest set name='"+weather.getName()+"',password='"+weather.getPassword()+"' where id="+weather.getId()+"";
3 jdbcTemplate.execute(sql);
4 }
controller代码
1 @RequestMapping(params="method=edit",method=RequestMethod.GET)
2 public ModelAndView editWeather(HttpServletRequest request,HttpServletResponse response){
3
4 int id=Integer.valueOf(request.getParameter("id"));
5 WeatherPojo weather=new WeatherPojo();
6 weather=weatherService.getWeatherById(id);
7 ModelAndView mav=new ModelAndView("editweather");
8 request.setAttribute("weather", weather);
9 System.out.println("--------"+weather.getId());
10 System.out.println("--------"+weather.getName());
11 System.out.println("--------"+weather.getPassword());
12 return mav;
13 }
14 @RequestMapping(params="method=edit",method=RequestMethod.POST)
15 public ModelAndView editWeather(WeatherPojo weather){
16 weatherService.editWeather(weather);
17 return new ModelAndView("redirect:/weather.do?method=query");
18 }
jsp页面:
1 <%@ page language="java" contentType="text/html; charset=utf-8"
2 pageEncoding="utf-8"%>
3 <%String path = request.getContextPath();
4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 %>
6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
7 <html>
8 <head>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
10 <title>Insert title here</title>
11 </head>
12 <body>
13 <form action="<%=basePath%>weather.do?method=edit" method="post">
14 <label for="id">id</label>
15 <input name="id" readonly="true" value="${weather.id }"/><br>
16 <label for="name">name</label>
17 <input name="name" value="${weather.name }"><br>
18 <label for="password" >password</label>
19 <input name="password" value="${weather.password }"><br>
20 <input type="submit" value="提交">
21 </form>
22 </body>
23 </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代码:
1 <%@ page language="java" contentType="text/html; charset=utf-8"
2 pageEncoding="utf-8"%>
3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4 <%String path = request.getContextPath();
5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6 %>
7 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
8 <html>
9 <head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
11 <title>Insert title here</title>
12 </head>
13 <body>
14 <div><a href="<%=basePath %>weather.do?method=add">添加</a></div>
15 <div>
16 <table>
17 <thead>
18 <tr>
19 <th>姓名</th>
20 <th>说明</th>
21 <th>操作</th>
22 </tr>
23 </thead>
24 <tbody>
25 <c:forEach var="item" items="${weathers}">
26 <tr>
27 <td>${item.name }</td>
28 <td>${item.password }</td>
29 <td></td>
30 <td><a href="<%=basePath %>weather.do?method=edit&id=${item.id}">编辑</a><a href="<%=basePath %>weather.do?method=delete&id=${item.id}">删除</a></td>
31 </tr>
32 </c:forEach>
33 </tbody>
34 </table>
35 </div>
36 </body>
37 </html>
- processArgs方法解读
- Python分布式微博爬虫(源码分享)
- NewInstallUserMapper.class阅读笔记
- TimeUtil类所有方法
- mapreduce项目调优
- zookeeper强制关机无法启动Unable to load database on disk具体解决步骤
- Python爬淘宝——300W淘宝文胸说明了什么
- 文本编码转换工具iconv 附批量转换文件编码命令
- 用23行代码爬取豆瓣音乐top250
- GitHub上超9Kstars的Python爬虫项目——pyspider(国人编写)
- 理解zookeeper选举机制
- zookeeper详解
- Python爬虫进阶(一)使用Selenium进行网页抓取
- R语言的优劣
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- C# 生成chart图表的三种方式
- C# Task.Run调用外部参数
- Git全方位指南,即用即查就可
- Python入门教程笔记(二)控制语句
- Python入门教程笔记(一)简介、变量及基本数据类型
- C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别
- typescript高级用法之infer的理解与使用
- 基于业务场景下的图片/文件上传方案总结
- LeetCode96|二叉搜索树中的搜索
- LeetCode95|字符串中的第一个唯一字符
- LeetCode94|Pow(x,n)
- LeetCode93|数值的整数次方
- LeetCode92|排序数组
- 缓存 | 从本地缓存到分布式缓存, Guava, Caffeine, Memcached, Redis
- WebView三问—B站真题