From 09a89ee48f6257863cc0205a11c36fedb43bcf92 Mon Sep 17 00:00:00 2001 From: Y1NanPing <735289578@qq.com> Date: Wed, 21 May 2025 19:49:33 +0800 Subject: [PATCH] =?UTF-8?q?springboot=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01_springboot_part/pom.xml | 50 +++++++++++++++++++ .../com/atguigu/java/SpringBootRunner.java | 18 +++++++ .../java/interceptors/AllInterceptor.java | 33 ++++++++++++ .../java/javaconfig/RedisConfigration.java | 36 +++++++++++++ .../javaconfig/SpringMvcConfiguration.java | 28 +++++++++++ .../com/atguigu/java/mapper/EmpMapper.java | 13 +++++ .../atguigu/java/mapper/OrderItemsMapper.java | 9 ++++ .../com/atguigu/java/mapper/OrdersMapper.java | 13 +++++ .../com/atguigu/java/mapper/UsersMapper.java | 12 +++++ .../java/com/atguigu/java/pojo/Employee.java | 11 ++++ .../com/atguigu/java/pojo/OrderItems.java | 11 ++++ .../java/com/atguigu/java/pojo/Orders.java | 12 +++++ .../java/com/atguigu/java/pojo/Student.java | 11 ++++ .../java/com/atguigu/java/pojo/Users.java | 14 ++++++ .../src/main/resources/application.yml | 22 ++++++++ .../src/main/resources/banner.txt | 22 ++++++++ .../src/main/resources/mapper/EmpMapper.xml | 11 ++++ .../resources/mapper/OrderItemsMapper.xml | 12 +++++ .../main/resources/mapper/OrdersMapper.xml | 21 ++++++++ .../src/main/resources/mapper/UsersMapper.xml | 35 +++++++++++++ .../test/java/com/atguigu/java/DemoTest.java | 39 +++++++++++++++ 21 files changed, 433 insertions(+) create mode 100644 01_springboot_part/pom.xml create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/SpringBootRunner.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/interceptors/AllInterceptor.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/javaconfig/RedisConfigration.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/javaconfig/SpringMvcConfiguration.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/mapper/EmpMapper.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/mapper/OrderItemsMapper.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/mapper/OrdersMapper.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/mapper/UsersMapper.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/pojo/Employee.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/pojo/OrderItems.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/pojo/Orders.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/pojo/Student.java create mode 100644 01_springboot_part/src/main/java/com/atguigu/java/pojo/Users.java create mode 100644 01_springboot_part/src/main/resources/application.yml create mode 100644 01_springboot_part/src/main/resources/banner.txt create mode 100644 01_springboot_part/src/main/resources/mapper/EmpMapper.xml create mode 100644 01_springboot_part/src/main/resources/mapper/OrderItemsMapper.xml create mode 100644 01_springboot_part/src/main/resources/mapper/OrdersMapper.xml create mode 100644 01_springboot_part/src/main/resources/mapper/UsersMapper.xml create mode 100644 01_springboot_part/src/test/java/com/atguigu/java/DemoTest.java diff --git a/01_springboot_part/pom.xml b/01_springboot_part/pom.xml new file mode 100644 index 0000000..22ba27c --- /dev/null +++ b/01_springboot_part/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.0.5 + + + + com.atguigu.java + 01_springboot_part + 1.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.1 + + + mysql + mysql-connector-java + 8.0.30 + + + org.projectlombok + lombok + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + + + \ No newline at end of file diff --git a/01_springboot_part/src/main/java/com/atguigu/java/SpringBootRunner.java b/01_springboot_part/src/main/java/com/atguigu/java/SpringBootRunner.java new file mode 100644 index 0000000..6f04852 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/SpringBootRunner.java @@ -0,0 +1,18 @@ +package com.atguigu.java; + +//TIP To Run code, press or +// click the icon in the gutter. + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; + +@SpringBootApplication +public class SpringBootRunner{ + + public static void main(String[] args) { + //启动tomcat即可 + SpringApplication.run(SpringBootRunner.class,args); + } +} \ No newline at end of file diff --git a/01_springboot_part/src/main/java/com/atguigu/java/interceptors/AllInterceptor.java b/01_springboot_part/src/main/java/com/atguigu/java/interceptors/AllInterceptor.java new file mode 100644 index 0000000..137b606 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/interceptors/AllInterceptor.java @@ -0,0 +1,33 @@ +package com.atguigu.java.interceptors; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +/** + * projectName: com.atguigu.java.interceptors + * + * @author: 赵伟风 + * description: + */ +public class AllInterceptor implements HandlerInterceptor { + + // if(!preHandler()){return;} + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + System.out.println("AllInterceptor.preHandle"); + return true; + } + + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + System.out.println("AllInterceptor.postHandle"); + } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + System.out.println("AllInterceptor.afterCompletion"); + } +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/javaconfig/RedisConfigration.java b/01_springboot_part/src/main/java/com/atguigu/java/javaconfig/RedisConfigration.java new file mode 100644 index 0000000..4e96784 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/javaconfig/RedisConfigration.java @@ -0,0 +1,36 @@ +package com.atguigu.java.javaconfig; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializer; + +@Configuration +public class RedisConfigration { + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){ + + //创建一个对象 + RedisTemplate redisTemplate = new RedisTemplate<>(); + + //与库连接上的关键数据 + redisTemplate.setConnectionFactory(redisConnectionFactory); + //String类型的序列化器 + RedisSerializer stringSerializer = RedisSerializer.string(); + //json类型的序列化器 + GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer + = new GenericJackson2JsonRedisSerializer(); + +// 设置序列化器 + + redisTemplate.setKeySerializer(stringSerializer); + redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer); + redisTemplate.setHashKeySerializer(stringSerializer); + redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer); + + //返回数据 + return redisTemplate; + } +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/javaconfig/SpringMvcConfiguration.java b/01_springboot_part/src/main/java/com/atguigu/java/javaconfig/SpringMvcConfiguration.java new file mode 100644 index 0000000..4bf20b1 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/javaconfig/SpringMvcConfiguration.java @@ -0,0 +1,28 @@ +package com.atguigu.java.javaconfig; + +import com.atguigu.java.interceptors.AllInterceptor; +import org.springframework.cglib.transform.impl.AddInitTransformer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * projectName: com.atguigu.java + * + * @author: 赵伟风 + * description: 目标;将拦截器加入到ioc容器的同时还要设置拦截和放行地址! + * 1. 配置类添加@Configuration注解 + * 2. springmvc的配置类需要使用特殊的接口WebMvcConfigurer + * 3. WebMvcConfigurer接口中提供各种方法配置特殊(拦截器)的组件对象 + * 4. 重写addInterceptor方法 + * 5. 方法的形参对象 InterceptorRegistry 拦截器加入到ioc容器和配置拦截和放行的地址 + */ +@Configuration +public class SpringMvcConfiguration implements WebMvcConfigurer { + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(new AllInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/a").order(10); + } +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/mapper/EmpMapper.java b/01_springboot_part/src/main/java/com/atguigu/java/mapper/EmpMapper.java new file mode 100644 index 0000000..242069d --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/mapper/EmpMapper.java @@ -0,0 +1,13 @@ +package com.atguigu.java.mapper; + +import com.atguigu.java.pojo.Employee; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface EmpMapper { + + List getAllEmp(); + +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/mapper/OrderItemsMapper.java b/01_springboot_part/src/main/java/com/atguigu/java/mapper/OrderItemsMapper.java new file mode 100644 index 0000000..ffba614 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/mapper/OrderItemsMapper.java @@ -0,0 +1,9 @@ +package com.atguigu.java.mapper; + +import com.atguigu.java.pojo.OrderItems; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderItemsMapper { + OrderItems selectOrderItems(Integer id); +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/mapper/OrdersMapper.java b/01_springboot_part/src/main/java/com/atguigu/java/mapper/OrdersMapper.java new file mode 100644 index 0000000..5038586 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/mapper/OrdersMapper.java @@ -0,0 +1,13 @@ +package com.atguigu.java.mapper; + +import com.atguigu.java.pojo.Orders; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface OrdersMapper { + List getAllOrders(Integer userId); + +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/mapper/UsersMapper.java b/01_springboot_part/src/main/java/com/atguigu/java/mapper/UsersMapper.java new file mode 100644 index 0000000..bcf2aa6 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/mapper/UsersMapper.java @@ -0,0 +1,12 @@ +package com.atguigu.java.mapper; + +import com.atguigu.java.pojo.Users; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface UsersMapper { + + List getAllUsersItem(Integer id); +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/pojo/Employee.java b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Employee.java new file mode 100644 index 0000000..a8d4c36 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Employee.java @@ -0,0 +1,11 @@ +package com.atguigu.java.pojo; + +import lombok.Data; + +@Data +public class Employee { + + private Integer empId; + private String empName; + private Double empSalary; +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/pojo/OrderItems.java b/01_springboot_part/src/main/java/com/atguigu/java/pojo/OrderItems.java new file mode 100644 index 0000000..7eda074 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/pojo/OrderItems.java @@ -0,0 +1,11 @@ +package com.atguigu.java.pojo; + +import lombok.Data; + +@Data +public class OrderItems { + private Integer id; + private Integer orderId; + private String productName; + private Integer quantity; +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/pojo/Orders.java b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Orders.java new file mode 100644 index 0000000..f7cb56f --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Orders.java @@ -0,0 +1,12 @@ +package com.atguigu.java.pojo; + +import com.atguigu.java.mapper.OrderItemsMapper; +import lombok.Data; + +@Data +public class Orders { + private Integer id; + private Integer userId; + private String orderNumber; + private OrderItems orderItems; +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/pojo/Student.java b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Student.java new file mode 100644 index 0000000..1c171d1 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Student.java @@ -0,0 +1,11 @@ +package com.atguigu.java.pojo; + +import lombok.Data; + +@Data +public class Student { + + private String name; + private Integer age; + private Integer id; +} diff --git a/01_springboot_part/src/main/java/com/atguigu/java/pojo/Users.java b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Users.java new file mode 100644 index 0000000..a360487 --- /dev/null +++ b/01_springboot_part/src/main/java/com/atguigu/java/pojo/Users.java @@ -0,0 +1,14 @@ +package com.atguigu.java.pojo; + + +import lombok.Data; + +import java.util.List; + +@Data +public class Users { +private Integer id; +private String username; +private String email; +private List orders; +} diff --git a/01_springboot_part/src/main/resources/application.yml b/01_springboot_part/src/main/resources/application.yml new file mode 100644 index 0000000..28f90a4 --- /dev/null +++ b/01_springboot_part/src/main/resources/application.yml @@ -0,0 +1,22 @@ +spring: + banner: + charset: utf-8 + location: classpath:banner.txt + datasource: + url: jdbc:mysql://localhost:3306/mybatis-example + driver-class-name: com.mysql.cj.jdbc.Driver + username: root + password: 735289578 + data: + redis: + host: 192.168.6.100 + port: 6379 +mybatis: + mapper-locations: classpath:/mapper/*.xml + type-aliases-package: com.atguigu.java.pojo + configuration: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + auto-mapping-behavior: full + lazy-loading-enabled: true + aggressive-lazy-loading: false diff --git a/01_springboot_part/src/main/resources/banner.txt b/01_springboot_part/src/main/resources/banner.txt new file mode 100644 index 0000000..b738b2e --- /dev/null +++ b/01_springboot_part/src/main/resources/banner.txt @@ -0,0 +1,22 @@ + //////////////////////////////////////////////////////////////////// + // _ooOoo_ // + // o8888888o // + // 88" . "88 // + // (| ^_^ |) // + // O\ = /O // + // ____/`---'\____ // + // .' \\| |// `. // + // / \\||| : |||// \ // + // / _||||| -:- |||||- \ // + // | | \\\ - /// | | // + // | \_| ''\---/'' | | // + // \ .-\__ `-` ___/-. / // + // ___`. .' /--.--\ `. . ___ // + // ."" '< `.___\_<|>_/___.' >'"". // + // | | : `- \`.;`\ _ /`;.`/ - ` : | | // + // \ \ `-. \_ __\ /__ _/ .-` / / // + // ========`-.____`-.___\_____/___.-`____.-'======== // + // `=---=' // + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // + // 佛祖保佑 永不宕机 永无BUG // + //////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/01_springboot_part/src/main/resources/mapper/EmpMapper.xml b/01_springboot_part/src/main/resources/mapper/EmpMapper.xml new file mode 100644 index 0000000..90598d1 --- /dev/null +++ b/01_springboot_part/src/main/resources/mapper/EmpMapper.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/01_springboot_part/src/main/resources/mapper/OrderItemsMapper.xml b/01_springboot_part/src/main/resources/mapper/OrderItemsMapper.xml new file mode 100644 index 0000000..c986c63 --- /dev/null +++ b/01_springboot_part/src/main/resources/mapper/OrderItemsMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/01_springboot_part/src/main/resources/mapper/OrdersMapper.xml b/01_springboot_part/src/main/resources/mapper/OrdersMapper.xml new file mode 100644 index 0000000..fba3e88 --- /dev/null +++ b/01_springboot_part/src/main/resources/mapper/OrdersMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/01_springboot_part/src/main/resources/mapper/UsersMapper.xml b/01_springboot_part/src/main/resources/mapper/UsersMapper.xml new file mode 100644 index 0000000..95daf37 --- /dev/null +++ b/01_springboot_part/src/main/resources/mapper/UsersMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/01_springboot_part/src/test/java/com/atguigu/java/DemoTest.java b/01_springboot_part/src/test/java/com/atguigu/java/DemoTest.java new file mode 100644 index 0000000..9ee3a81 --- /dev/null +++ b/01_springboot_part/src/test/java/com/atguigu/java/DemoTest.java @@ -0,0 +1,39 @@ +package com.atguigu.java; + +import com.atguigu.java.mapper.OrderItemsMapper; +import com.atguigu.java.mapper.OrdersMapper; +import com.atguigu.java.mapper.UsersMapper; +import com.atguigu.java.pojo.Orders; +import com.atguigu.java.pojo.Student; +import com.atguigu.java.pojo.Users; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.redis.core.RedisTemplate; + +import java.util.List; + +@SpringBootTest +public class DemoTest { + + + @Autowired + private RedisTemplate redisTemplate; + + + @Test + public void test01(){ + Student student = new Student(); + student.setName("张三"); + student.setAge(18); + student.setId(1); + redisTemplate.opsForValue().set("student",student); + + + + + + + } + +}