insert into duck
values (#{id}, #{name}, #{birthday}, #{height}, #{weight}, #{food})
update duck
name=#{name},
height=#{height},
weight=#{weight},
food=#{food}
where id=#{id}
delete from duck where id=#{id};
select * from duck where name like #{keyWords}
select * from duck
height > #{minHeight}
and height < #{maxHeight}
and weight > #{minWeight}
and weight < #{maxWeight}
select * from duck where id=#{id};
service接口
public interface DuckService {
List select();
int insert(Duck duck);
int update(Duck duck);
int delete(String id);
List selectByLike(String keyWords);
List selectByRange(Map<String ,Object> map);
Duck selectOne(String id);
}
servic接口的实现类
public class DuckServiceImpl implements DuckService {
private DuckMapper duckMapper;
public void setDuckMapper(DuckMapper duckMapper) {
this.duckMapper = duckMapper;
}
public List select() {
return duckMapper.select();
}
public int insert(Duck duck) {
return duckMapper.insert(duck);
}
public int update(Duck duck) {
return duckMapper.update(duck);
}
public int delete(String id) {
return duckMapper.delete(id);
}
public List selectByLike(String keyWords) {
return duckMapper.selectByLike(keyWords);
}
public List selectByRange(Map<String, Object> map) {
return duckMapper.selectByRange(map);
}
public Duck selectOne(String id) {
return duckMapper.selectOne(id);
}
}
配置web.xml实现DispatchServlet和过滤器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns=“http://xmlns.jcp.org/xml/ns/javaee”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd”
version=“4.0”>
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:application-context.xml
1
springmvc
/
encooding
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encooding
/*
package com.duck.controller;
import com.duck.pojo.Duck;
import com.duck.service.DuckService;
import com.duck.util.IDUtil;
import com.duck.util.Time;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
-
Created with IntelliJ IDEA.
-
Description: If you don’t work hard, you will a loser.
-
User: Listen-Y.
-
Date: 2020-11-06
-
Time: 14:44
*/
@Controller
@RequestMapping(“/duck”)
public class DuckController {
private final DuckService duckService;
public DuckController(@Qualifier(“duckService”) DuckService duckService) {
this.duckService = duckService;
}
//展示所有鸭子
@RequestMapping(“/all”)
public String getAllDuck(Model model) {
List list = duckService.select();
model.addAttribute(“list”, list);
return “allDuck”;
}
//删除鸭子
@RequestMapping(“/delete”)
public String delete(String duckID) {
duckService.delete(duckID);
return “redirect:/duck/all”;
}
//修改鸭子
@RequestMapping(“/update/{duckID}/{key}”)
public String update(Duck duck, @PathVariable String duckID, @PathVariable int key, Model model) {
if (key == 1) {
Duck duck1 = duckService.selectOne(duckID);
model.addAttribute(“duck”, duck1);
return “updateDuck”;
}
duckService.update(duck);
return “redirect:/duck/all”;
}
//模糊查找鸭子
@RequestMapping(“/like”)
public String like(String keyWords, Model model) {
List list = duckService.selectByLike(“%” + keyWords + “%”);
if (list.size() == 0) {
model.addAttribute(“ERROR”, “未找到”);
} else {
model.addAttribute(“list”, list);
}
return “allDuck”;
}
//增加一个鸭子
@RequestMapping(“/add/{key}”)
public String add(Duck duck, @PathVariable int key) {
if ( key == 1) {
//只需进行跳转
return “addDuck”;
}
duck.setId(IDUtil.getID());
duck.setBirthday(Time.getTime());
duckService.insert(duck);
return “redirect:/duck/all”;
}
//范围查找鸭子
@RequestMapping(“/range/{key}”)
public String range(@PathVariable int key, HttpServletRequest request, Model model) {
if (key == 1) {
return “range”;
} else {
String minHeight = request.getParameter(“minHeight”);
String maxHeight = request.getParameter(“maxHeight”);
String minWeight = request.getParameter(“minWeight”);
String maxWeight = request.getParameter(“maxWeight”);
System.out.println(“***” + minHeight + “,” + maxHeight + “,” + minWeight + “,” + maxWeight);
Map<String, Object> map = new HashMap<String, Object>();
if (!(minHeight == null) && !minHeight.equals(“”)) {
map.put(“minHeight”, minHeight);
}
if (!(maxHeight == null) && !maxHeight.equals(“”)) {
map.put(“maxHeight”, maxHeight);
}
if (!(minWeight == null) && !minWeight.equals(“”)) {
map.put(“minWeight”, minWeight);
}
if (!(maxWeight == null) && !maxWeight.equals(“”)) {
map.put(“maxWeight”, maxWeight);
}
List list = duckService.selectByRange(map);
model.addAttribute(“list”, list);
return “allDuck”;
}
}
}
信息展示页面
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%–
Created by IntelliJ IDEA.
User: Huawei
Date: 2020/11/6
Time: 14:48
To change this template use File | Settings | File Templates.
–%>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
黑天鹅
${ERROR}
<c:forEach var=“duck” items=“${list}”>
${duck.id} ${duck.name} ${duck.birthday} ${duck.height} ${duck.weight} ${duck.food}class=“btn btn-default”>修改
|
<a href=“ p a g e C o n t e x t . r e q u e s t . c o n t e x t P a t h / d u c k / d e l e t e ? d u c k I D = {pageContext.request.contextPath}/duck/delete?duckID= pageContext.request.contextPath/duck/delete?duckID={duck.id}”
class=“btn btn-default”>删除
</c:forEach>
输入信息页面
<%–
Created by IntelliJ IDEA.
User: Huawei
Date: 2020/11/6
Time: 15:45
To change this template use File | Settings | File Templates.
–%>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习
已经将知识体系整理好(源码,笔记,PPT,学习视频)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
12674007330)]
[外链图片转存中…(img-V0tANpJn-1712674007331)]
[外链图片转存中…(img-ZAyRR78P-1712674007332)]
[外链图片转存中…(img-YdKCMdE7-1712674007332)]
[外链图片转存中…(img-Li7niwDO-1712674007333)]
[外链图片转存中…(img-XQOukoDf-1712674007333)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-8nF0sJo4-1712674007333)]
最后
我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习
已经将知识体系整理好(源码,笔记,PPT,学习视频)
[外链图片转存中…(img-qL1JkdZs-1712674007334)]
[外链图片转存中…(img-dJwmwvTi-1712674007334)]
[外链图片转存中…(img-Tf82fXMj-1712674007334)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-PJ7nETqe-1712674007335)]