SSM整合(狂神版 |
您所在的位置:网站首页 › 狂神说ssm整合 › SSM整合(狂神版 |
我的项目环境
IDEA 2022Mysql 8.0.29Tomcat 9Maven 3.8.6
创建数据库表(在ssmbuid数据库里)
CREATE TABLE books (
bookID int NOT NULL AUTO_INCREMENT,
bookName varchar(100) NOT NULL,
bookCounts int NOT NULL,
details varchar(200) NOT NULL,
PRIMARY KEY (bookID)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb3;
INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');
项目环境搭建
1.创建普通Maven项目ssmBuild-test 2.在项目的pom.xml文件里面导入相关依赖和设置静态资源过滤(确保所有配置文件能够成功导出) 注意:这里还有一个重要的操作,不然可能会出现404错误:
1.数据库配置文件databases.properties 2.IDEA关联数据库
3.编写Mybatis核心配置文件(mybatis-config.xml) 4.编写数据库对应的实体类com.pojo.Books,可以使用lombok插件 package com.pojo; public class Books { public int bookID; public String bookName; public int bookCounts; public String details; public Books(int bookID, String bookName, int bookCounts, String details) { this.bookID = bookID; this.bookName = bookName; this.bookCounts = bookCounts; this.details = details; } public Books() { } public int getBookID() { return bookID; } public void setBookID(int bookID) { this.bookID = bookID; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public int getBookCounts() { return bookCounts; } public void setBookCounts(int bookCounts) { this.bookCounts = bookCounts; } public String getDetails() { return details; } public void setDetails(String details) { this.details = details; } @Override public String toString() { return "Books{" + "bookID=" + bookID + ", bookName='" + bookName + '\'' + ", bookCounts=" + bookCounts + ", details='" + details + '\'' + '}'; } }5.编写Dao层的Mapper接口(BookMapper) package com.dao; import com.pojo.Books; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 增删改查 */ public interface BookMapper { //增加一本书 int addBook(Books book); //删除一本书 int deleteBook(@Param("bookID") int ID); //修改一本书 int updateBook(Books book); //查询一本书 Books queryBookItem(@Param("bookID") int ID); //查询全部书籍 List queryAllBooks(); }6.编写接口对应的Mapper.xml文件(BookMapper.xml) insert into ssmbuild.books(bookID,bookName,bookCounts,details) values(#{bookID},#{bookName},#{bookCounts},#{details}) delete from ssmbuild.books where bookID = #{bookID} update ssmbuild.books set bookName = #{bookName},bookCounts = #{bookCounts},details = #{details} where bookID = #{bookID} select * from ssmbuild.books where bookID = #{bookID} select * from ssmbuild.books;7.编写Service层的接口(BookService)和实现类(BookServiceImpl) package com.service; import com.pojo.Books; import java.util.List; public interface BookService { //增加一本书 int addBook(Books book); //删除一本书 int deleteBook(int ID); //修改一本书 int updateBook(Books book); //查询一本书 Books queryBookItem(int ID); //查询全部书籍 List queryAllBooks(); } package com.service; import com.dao.BookMapper; import com.pojo.Books; import java.util.List; public class BookServiceImpl implements BookService { /*组合,service层调用dao层*/ public BookMapper bookMapper; public void setBookMapper(BookMapper bookMapper) { this.bookMapper = bookMapper; } @Override public int addBook(Books book) { return bookMapper.addBook(book); } @Override public int deleteBook(int ID) { return bookMapper.deleteBook(ID); } @Override public int updateBook(Books book) { return bookMapper.updateBook(book); } @Override public Books queryBookItem(int ID) { return bookMapper.queryBookItem(ID); } @Override public List queryAllBooks() { return bookMapper.queryAllBooks(); } } 编写Spring层1.配置Spring整合Mybatis,这里的数据源使用c3p0连接池——编写相关配置文件:spring-dao.xml 2.Spring整合service层 SpringMVC层1.配置web.xml文件 DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:applicationContext.xml 1 DispatcherServlet / encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 encodingFilter /* 152.配置spring-mvc.xml文件 3.Spring配置整合文件——applicationContext.xml Controller和视图层编写1.Controller层编写(com.controller.BookController) package com.controller; import com.pojo.Books; import com.service.BookService; import org.springframework.beans.factory.annotation.Autowired; 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 java.util.List; @Controller @RequestMapping("/book") public class BookController { @Autowired @Qualifier("BookServiceImpl") private BookService bookService; //查询全部书籍 @RequestMapping("/allBook") public String list(Model model) { List books = bookService.queryAllBooks(); model.addAttribute("list",books); return "allBook"; } //跳转到更新书籍页面 @RequestMapping("/toUpdateBook") public String update(Model model,int id) { Books book = bookService.queryBookItem(id); model.addAttribute("book",book); return "toUpdateBook"; } //保存更新书籍 @RequestMapping("/saveBook") public String saveBook(Model model,Books book) { int code = bookService.updateBook(book); List books = bookService.queryAllBooks(); model.addAttribute("list",books); return "redirect:allBook"; } //删除书籍 @RequestMapping("/del/{bookID}") public String deleteBook(Model model,@PathVariable("bookID") int id) { int code = bookService.deleteBook(id); return "redirect:/book/allBook"; } //跳转到增加书籍页面 @RequestMapping("/toAddBook") public String addBook() { return "addBook"; } //保存新增书籍 @RequestMapping("/saveItem") public String saveNewBook(Model model,Books book) { int code = bookService.addBook(book); return "redirect:/book/allBook"; } }2.编写index.jsp 首页 a { text-decoration: none; color: black; font-size: 18px; } h3 { width: 180px; height: 38px; margin: 100px auto; text-align: center; line-height: 38px; background: deepskyblue; border-radius: 4px; } 点击进入列表页3.编写书籍列表页面allBook.jsp 书籍列表 书籍列表 —— 显示所有书籍 新增 书籍编号 书籍名字 书籍数量 书籍详情 操作 ${book.getBookID()} ${book.getBookName()} ${book.getBookCounts()} ${book.getDetails()} 更改 | 删除4.新增书籍页面addBook.jsp 增加书籍 新增书籍 书籍名称: 书籍数量: 书籍详情:5.修改书籍页面toUpdateBook.jsp 修改页面 修改书籍信息 书籍编号: 书籍名称: 书籍数量: 书籍详情: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |