1.2
javax.servlet
servlet-api
2.5
org.mybatis
mybatis
3.5.3
org.springframework
spring-webmvc
5.1.4.RELEASE
org.springframework
spring-jdbc
5.1.4.RELEASE
org.aspectj
aspectjweaver
1.9.4
org.mybatis
mybatis-spring
2.0.1
org.projectlombok
lombok
1.16.20
provided
com.fasterxml.jackson.core
jackson-databind
2.9.8
Maven资源过滤设置
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
- 注意里面文字注释
<beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:mvc=“http://www.springframework.org/schema/mvc”
xmlns:context=“http://www.springframework.org/schema/context”
xmlns:aop=“http://www.springframework.org/schema/aop”
xmlns:tx=“http://www.springframework.org/schema/tx”
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:property-placeholder location=“classpath:database.properties”/>
<context:component-scan base-package=“com.duck.service”/>
<tx:advice id=“txAdvice” transaction-manager=“transactionManager”>
tx:attributes
<tx:method name=“*”/>
</tx:attributes>
</tx:advice>
<aop:config >
<aop:pointcut id=“pointcut” expression=“execution(* com.duck.service.DuckServiceImpl.*(…))”/>
<aop:advisor advice-ref=“txAdvice” pointcut-ref=“pointcut”/>
</aop:config>
mvc:annotation-driven/
mvc:default-servlet-handler/
<context:component-scan base-package=“com.duck.controller”/>
- mybatis配置mybatis-config.xml
- DataSourc信息配置database.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/java_11_06?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=listen
- pojo实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Duck {
private String id;
private String name;
private Timestamp birthday;
private BigDecimal height;
private BigDecimal weight;
private BigDecimal food;
}
- pojo的dao操作接口
public interface DuckMapper {
List select();
int insert(Duck duck);
int update(Duck duck);
int delete(@Param(“id”) String id);
List selectByLike(String keyWords);
List selectByRange(Map<String ,Object> map);
Duck selectOne(@Param(“id”) String id);
}
- 接口对应的mapper.xml映射文件
select * from duck;
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”;
}
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
}
List list = duckService.selectByRange(map);
model.addAttribute(“list”, list);
return “allDuck”;
}
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-FV9gnhJ0-1713421284279)]
[外链图片转存中…(img-P4bga4Pk-1713421284279)]
[外链图片转存中…(img-uGi8bKk2-1713421284279)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!