1、数据库依据ID查询单条数据

如下所示,使用url:127.0.0.1:8080/getUsers查询全部数据,

使用url:127.0.0.1:8080/getUser查询某条数据,如查询id为1的数据,或查询id为2的数据。




  @RequestMapping("/getUsers")
public List<User> getUsers() {
List<User> users=userMapper.getAll();
return users;
}

@RequestMapping("/getUser")
public User getUser(Long id) {
User user=userMapper.getOne(id);
return user;
}



结果如下:

Springboot学习13--数据库各种操作:增删改查_spring

Springboot学习13--数据库各种操作:增删改查_spring_02


2. 创建自定义的 Filter,代码如下:



import javax.servlet.*;
import java.io.IOException;
public class MyFiler implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("MyFiler 初始化");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("MyFiler doFilter");
chain.doFilter(request, response);
}
@Override
public void destroy() {
System.out.println("MyFiler 销毁");
}
}

3. 创建自定义的 Listener,代码如下:





import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
//监听 ServletContext 的初始化和销毁过程
public class MyListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("MyListener 监听到 ServletContext 初始化");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("MyListener 监听到 ServletContext 销毁");
}
}

4. 创建一个配置类 MyConfig,使用@Bean注解将ServletRegistrationBean、FilterRegistrationBean和ServletListenerRegistrationBean添加到 Spring 容器中,并分别使用它们注册我们自定义的 Servlet、Filter 和 Listener,示例代码如下:




import net.biancheng.www.Listener.MyListener;
import net.biancheng.www.filter.MyFiler;
import net.biancheng.www.servlet.MyServlet;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
@Configuration
public class MyConfig {
/**
* 注册 servlet
* @return
*/
@Bean
public ServletRegistrationBean servletRegistrationBean() {
MyServlet myServlet = new MyServlet();
return new ServletRegistrationBean(myServlet, "/myServlet");
}
/**
* 注册过滤器
* @return
*/
@Bean
public FilterRegistrationBean filterRegistrationBean() {
MyFiler myFiler = new MyFiler();
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(myFiler);
//注册该过滤器需要过滤的 url
filterRegistrationBean.setUrlPatterns(Arrays.asList("/myServlet"));
return filterRegistrationBean;
}
/**
* 注册监听器
* @return
*/
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean() {
MyListener myListener = new MyListener();
return new ServletListenerRegistrationBean(myListener);
}
}

5. 启动 Spring Boot, 运行效果和上一节一样:

Springboot学习13--数据库各种操作:增删改查_spring_03

由上图可知,自定义的 Servlet 也已经生效了。