From 585a0adbc201c96211b56c0ea2b69af87c7dc8b5 Mon Sep 17 00:00:00 2001 From: Administrator <2541095587@qq.com> Date: Fri, 27 Dec 2024 11:40:39 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8D=8A=E6=88=90=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.idea/modules.xml" | 1 + .../SpringMVC01/pom.xml" | 64 +++++++++++++++++-- .../main/java/com/WJY/config/JdbcConfig.java" | 32 ++++++++++ .../java/com/WJY/config/MybatisConfig.java" | 21 ++++++ .../java/com/WJY/config/SpringConfig.java" | 11 ++++ .../java/com/WJY/config/SpringMvcConfig.java" | 12 +++- .../main/java/com/WJY/config/WebConfig.java" | 7 +- .../com/WJY/controller/BookController.java" | 1 - .../WJY/controller/BookWebController.java" | 46 +++++++++++++ .../src/main/java/com/WJY/dao/BookDao.java" | 28 +++++++- .../java/com/WJY/service/BookService.java" | 19 ++++++ .../WJY/service/impl/BookServiceImpl.java" | 38 ++++++++++- .../src/main/resources/jdbc.properties" | 4 ++ .../SpringMVC01/src/test/java/MyTest.java" | 14 ++++ 14 files changed, 287 insertions(+), 11 deletions(-) create mode 100644 "\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/JdbcConfig.java" create mode 100644 "\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/MybatisConfig.java" create mode 100644 "\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringConfig.java" create mode 100644 "\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" create mode 100644 "\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/resources/jdbc.properties" create mode 100644 "\345\220\264\344\275\263\345\256\207/SpringMVC01/src/test/java/MyTest.java" diff --git "a/\345\220\264\344\275\263\345\256\207/.idea/modules.xml" "b/\345\220\264\344\275\263\345\256\207/.idea/modules.xml" index 15a27f6..9fc0ea8 100644 --- "a/\345\220\264\344\275\263\345\256\207/.idea/modules.xml" +++ "b/\345\220\264\344\275\263\345\256\207/.idea/modules.xml" @@ -2,6 +2,7 @@ + diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/pom.xml" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/pom.xml" index 23b9d2a..a930537 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/pom.xml" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/pom.xml" @@ -6,36 +6,92 @@ war 1.0-SNAPSHOT + + + UTF-8 + - + org.springframework spring-webmvc 5.2.25.RELEASE - + + + org.springframework + spring-test + 5.2.25.RELEASE + + + + + org.springframework + spring-jdbc + 5.2.25.RELEASE + + javax.servlet javax.servlet-api 3.1.0 - provided - com.fasterxml.jackson.core jackson-databind 2.9.0 + org.projectlombok lombok 1.18.36 + + + org.mybatis + mybatis + 3.5.16 + + + + + com.mysql + mysql-connector-j + 8.3.0 + + + + junit + junit + 4.13.2 + test + + + + + com.alibaba + druid + 1.1.20 + + + + + org.mybatis + mybatis-spring + 2.0.6 + + + + org.projectlombok + lombok + 1.18.36 + diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/JdbcConfig.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/JdbcConfig.java" new file mode 100644 index 0000000..d60a6af --- /dev/null +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/JdbcConfig.java" @@ -0,0 +1,32 @@ +package com.WJY.config; + +import com.alibaba.druid.pool.DruidDataSource; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Component; + +import javax.sql.DataSource; + +@Component +@PropertySource("classpath:jdbc.properties") +public class JdbcConfig { + @Value("${jdbc.driver}") + private String driver; + @Value("${jdbc.url}") + private String url; + @Value("${jdbc.username}") + private String username; + @Value("${jdbc.password}") + private String password; + + @Bean + public DataSource getDataSource(){ + DruidDataSource druidDataSource = new DruidDataSource(); + druidDataSource.setDriverClassName(driver); + druidDataSource.setUrl(url); + druidDataSource.setUsername(username); + druidDataSource.setPassword(password); + return druidDataSource; + } +} diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/MybatisConfig.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/MybatisConfig.java" new file mode 100644 index 0000000..26650e5 --- /dev/null +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/MybatisConfig.java" @@ -0,0 +1,21 @@ +package com.WJY.config; + +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +import javax.sql.DataSource; + +@Component +@MapperScan("com.WJY.dao") +public class MybatisConfig { + + @Bean + public SqlSessionFactoryBean getSqlSessionFactoryBean(DataSource dataSource){ + SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); + sqlSessionFactoryBean.setDataSource(dataSource); + return sqlSessionFactoryBean; + } + +} diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringConfig.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringConfig.java" new file mode 100644 index 0000000..add2092 --- /dev/null +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringConfig.java" @@ -0,0 +1,11 @@ +package com.WJY.config; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@ComponentScan("com.WJY.service") +@Import({JdbcConfig.class, MybatisConfig.class}) +public class SpringConfig { +} diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringMvcConfig.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringMvcConfig.java" index 293ab0d..39aa313 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringMvcConfig.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/SpringMvcConfig.java" @@ -3,9 +3,19 @@ package com.WJY.config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @ComponentScan("com.WJY.controller") @EnableWebMvc // 这个MVC核心注解,有一堆作用 -public class SpringMvcConfig { +public class SpringMvcConfig implements WebMvcConfigurer { + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // 前面 的 /** 是指 css,js,html + // 后面写。 这个路径 对应的物理文件的路径 /test.html + registry.addResourceHandler("/**").addResourceLocations("/"); // 将所有controller里没写的路径,统统转发到webapp去找 + } + // 为了让mvc容器,对webapp目录的静态资源,放行,不做拦截,就要实现一个方法,# 添加一个资源处理器 + } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/WebConfig.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/WebConfig.java" index f1d0a22..2192619 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/WebConfig.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/config/WebConfig.java" @@ -2,19 +2,20 @@ package com.WJY.config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; +// webConfig是 Tomcat启动时要加载的容器配置, public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class[] getRootConfigClasses() { - return new Class[0]; + return new Class[]{SpringConfig.class}; // 加载spring框架的配置 } @Override protected Class[] getServletConfigClasses() { - return new Class[]{SpringMvcConfig.class}; + return new Class[]{SpringMvcConfig.class}; // 加mvc的配置文件 } @Override protected String[] getServletMappings() { - return new String[]{"/"}; + return new String[]{"/"}; // 设置被tomcat容器接管的网页路径的起始位置 / 网站根目录 } } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" index 6d839dd..6115d92 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" @@ -11,7 +11,6 @@ import java.util.List; @Controller public class BookController { -// ,, 。,, // 1.实现跳转 @RequestMapping("/t1") diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" new file mode 100644 index 0000000..78044ae --- /dev/null +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" @@ -0,0 +1,46 @@ +package com.WJY.controller; + +import com.WJY.dao.BookDao; +import com.WJY.pojo.Book; +import com.WJY.service.BookService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +@Controller +@ResponseBody +@RequestMapping(produces = "application/json;charset=utf-8") +public class BookWebController { + + @Autowired + private BookService bookService; + + @RequestMapping("/queryBookList") + public List queryBookList() { + return bookService.queryBookList(); + } + + @RequestMapping("/queryBookByBookName") + public List queryBookByBookName(String bookName) { + return bookService.queryBookByBookName(bookName); + } + + @RequestMapping("/delBookById") + public String delBookById(int id) { + return bookService.delBookById(id) > 0 ? "删除成功" : "删除失败"; + } + + @RequestMapping("/addBook") + public String addBook(Book book) { + return bookService.addBook(book) > 0 ? "新增成功" : "新增失败"; + } + + @RequestMapping("/updateBook") + public String updateBook(Book book) { + return bookService.updateBook(book) > 0 ? "修改成功" : "修改失败"; + } +} diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" index 4b50fdc..f80f158 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" @@ -1,4 +1,30 @@ package com.WJY.dao; -public class BookDao { +import com.WJY.pojo.Book; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +public interface BookDao { + + //查询所有图书 + @Select("select * from book") + List queryBookList(); + + //根据图书名称模糊查询图书 + @Select("select * from book where bookName = '%${bookName}%'") + List queryBookByBookName(String bookName); + + //根据ID删除图书 + @Delete("delete from book where bookId = #{id}") + int delBookById(@Param("id") int id); + + //新增图书 + @Insert("insert into book (bookName, bookAuthor, bookPublisher) values (#{bookName},#{bookAuthor},#{bookPublisher})") + int addBook(Book book); + + //修改图书 + @Update("update book set bookName = #{bookName}, bookAuthor = #{bookAuthor}, bookPublisher = #{bookPublisher} where bookId = #{bookId} ") + int updateBook(Book book); + } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/BookService.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/BookService.java" index 21f3064..a1490b2 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/BookService.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/BookService.java" @@ -1,4 +1,23 @@ package com.WJY.service; +import com.WJY.pojo.Book; + +import java.util.List; + public interface BookService { + + //查询所有图书 + List queryBookList(); + + //根据图书名称模糊查询图书 + List queryBookByBookName(String bookName); + + //根据ID删除图书 + int delBookById(int id); + + //新增图书 + int addBook(Book book); + + //修改图书 + int updateBook(Book book); } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/impl/BookServiceImpl.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/impl/BookServiceImpl.java" index a62d425..07e6f09 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/impl/BookServiceImpl.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/service/impl/BookServiceImpl.java" @@ -1,4 +1,40 @@ package com.WJY.service.impl; -public class BookServiceImpl { +import com.WJY.dao.BookDao; +import com.WJY.pojo.Book; +import com.WJY.service.BookService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class BookServiceImpl implements BookService { + @Autowired + private BookDao bookDao; + + @Override + public List queryBookList() { + return bookDao.queryBookList(); + } + + @Override + public List queryBookByBookName(String bookName) { + return bookDao.queryBookByBookName(bookName); + } + + @Override + public int delBookById(int id) { + return bookDao.delBookById(id); + } + + @Override + public int addBook(Book book) { + return bookDao.addBook(book); + } + + @Override + public int updateBook(Book book) { + return bookDao.updateBook(book); + } } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/resources/jdbc.properties" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/resources/jdbc.properties" new file mode 100644 index 0000000..1a69a84 --- /dev/null +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/resources/jdbc.properties" @@ -0,0 +1,4 @@ +jdbc.driver = com.mysql.cj.jdbc.Driver +jdbc.url = jdbc:mysql:///mx +jdbc.username = root +jdbc.password = 123456 \ No newline at end of file diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/test/java/MyTest.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/test/java/MyTest.java" new file mode 100644 index 0000000..4593e85 --- /dev/null +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/test/java/MyTest.java" @@ -0,0 +1,14 @@ +import com.WJY.config.SpringConfig; +import com.WJY.service.BookService; +import org.junit.Test; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; + +public class MyTest { + @Test + public void t1(){ + ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); + BookService bean = context.getBean(BookService.class); + System.out.println( bean.queryBookList()); + } +} -- Gitee From cf0881e009333b383dc72c74b76bf88945c05f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BD=B3=E5=AE=87=2E?= <2541095587@qq.com> Date: Sat, 28 Dec 2024 09:46:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?20241227=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/WJY/controller/BookController.java" | 7 ++++++- .../main/java/com/WJY/controller/BookWebController.java" | 1 + .../SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" index 6115d92..7bc8182 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookController.java" @@ -32,6 +32,11 @@ public class BookController { return book; } + @RequestMapping(value = "/t03",produces = "application/json;charset=utf-8") + @ResponseBody + public Book t03() { + return new Book(3,"Java","张三","广东省"); + } // 4.接收普通参数 @RequestMapping(value = "/t4", produces = "application/json;charset=utf-8") @ResponseBody @@ -50,7 +55,7 @@ public class BookController { @RequestMapping("/t6") @ResponseBody public List t6(@RequestBody List list) { + System.out.println(list); return list; } - } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" index 78044ae..2b03351 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/controller/BookWebController.java" @@ -26,6 +26,7 @@ public class BookWebController { @RequestMapping("/queryBookByBookName") public List queryBookByBookName(String bookName) { + System.out.println(bookService.queryBookByBookName(bookName)); return bookService.queryBookByBookName(bookName); } diff --git "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" index f80f158..6e3f80c 100644 --- "a/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" +++ "b/\345\220\264\344\275\263\345\256\207/SpringMVC01/src/main/java/com/WJY/dao/BookDao.java" @@ -12,8 +12,8 @@ public interface BookDao { List queryBookList(); //根据图书名称模糊查询图书 - @Select("select * from book where bookName = '%${bookName}%'") - List queryBookByBookName(String bookName); + @Select("select * from book where bookName like '%${bookName}%'") + List queryBookByBookName(@Param("bookName") String bookName); //根据ID删除图书 @Delete("delete from book where bookId = #{id}") -- Gitee