2024最新 SSM(Spring+Spring MVC+MyBatis)框架整合搭建详细步骤

  1. 编写数据库对应的实体类 pojo.Books

使用Lombok插件

@Data

@AllArgsConstructor

@NoArgsConstructor

public class Books {

private Integer bookID;

private String bookName;

private Integer bookCounts;

private String detail;

}

  1. 编写Dao层 的 Mapper接口!

public interface BookMapper {

//增加一本书

int addBook(Books books);

//删除一本书

int deleteBookById(@Param(“bookId”) int id);

//更新一本书

int updateBook(Books books);

//查询一本书

Books queryBookById(@Param(“bookId”) int id);

//查询全部的书

List queryAllBook();

}

  1. 编写接口对应的 Mapper.xml 文件。需要导入MyBatis的包;
<?xml version="1.0" encoding="UTF-8" ?>

insert into springmvc.books(bookName, bookCounts, detail)

values (#{bookName},#{bookCounts},#{detail})

delete from springmvc.books where bookID = #{bookId}

update springmvc.books

set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}

where bookID = #{bookID};

select * from springmvc.books

where bookID = #{bookId}

select * from springmvc.books

  1. 编写Service层的接口和实现类

接口:

public interface BookService {

//增加一本书

int addBook(Books books);

//删除一本书

int deleteBookById(int id);

//更新一本书

int updateBook(Books books);

//查询一本书

Books queryBookById(int id);

//查询全部的书

List queryAllBook();

}

​ 实现类:

public class BookServiceImpl implements BookService {

//调用dao层的操作,设置一个set接口,方便Spring管理

private BookMapper bookMapper;

public void setBookMapper(BookMapper bookMapper) {

this.bookMapper = bookMapper;

}

public int addBook(Books books) {

return bookMapper.addBook(books);

}

public int deleteBookById(int id) {

return bookMapper.deleteBookById(id);

}

public int updateBook(Books books) {

return bookMapper.updateBook(books);

}

public Books queryBookById(int id) {

return bookMapper.queryBookById(id);

}

public List queryAllBook() {

return bookMapper.queryAllBook();

}

}

OK,到此,底层需求操作编写完毕!

5、Spring层


  1. 配置Spring整合MyBatis,这里数据源使用c3p0连接池;
  2. 编写Spring整合Mybatis的相关的配置文件;spring-dao.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans

xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xmlns:context=“http://www.springframework.org/schema/context”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

">

<context:property-placeholder location=“classpath:database.properties”/>

<!–c3p0 连接池的私有属性–>

<!–关闭连接后不自动commit–>

<!–获取连接超时时间–>

<!–当获取连接失败重试次数–>

注意:数据库错误,建议使用spring默认连接池

  1. Spring整合service层
<?xml version="1.0" encoding="UTF-8"?>

<beans

xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xmlns:context=“http://www.springframework.org/schema/context”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

">

<context:component-scan base-package=“com.shun.service”/>

Spring层搞定!

6、SpringMVC层


  1. web.xml

web项目创建方式:

​ 右键项目 --> Add Frameworks Support --> Java EE --> Web Application --> 选中,然后点击OK,就创建成功了!

<?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:applicationContext.xml

1

springmvc

/

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

utf-8

encodingFilter

/*

15

  1. spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans

xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xmlns:context=“http://www.springframework.org/schema/context”

xmlns:mvc=“http://www.springframework.org/schema/mvc”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd">

mvc:annotation-driven/

mvc:default-servlet-handler/

<context:component-scan base-package=“com.shun.controller”/>

  1. Spring配置整合文件,applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans

xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

">

配置文件,暂时结束!Controller 和 视图层编写

7、Controller 和 视图层编写


  1. BookController 类编写 , 方法一:查询全部书籍

@Controller

@RequestMapping(“/book”)

public class BookController {

@Autowired

@Qualifier(“BookServiceImpl”)

private BookService bookService;

@RequestMapping(“/allBook”)

public String list(Model model) {

List list = bookService.queryAllBook();

model.addAttribute(“list”, list);

return “allBook”;

}

}

  1. 编写首页 index.jsp

<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>

首页

点击进入列表页

  1. 书籍列表页面 allbook.jsp

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

书籍列表

书籍列表 —— 显示所有书籍

新增

书籍编号 书籍名字 书籍数量 书籍详情 操作

<c:forEach var=“book” items=“${requestScope.get(‘list’)}”>

${book.getBookID()} ${book.getBookName()} ${book.getBookCounts()} ${book.getDetail()}

更改 |

删除

</c:forEach>

  1. BookController 类编写 , 方法二:添加书籍

@RequestMapping(“/toAddBook”)

public String toAddPaper() {

return “addBook”;

}

@RequestMapping(“/addBook”)

public String addPaper(Books books) {

System.out.println(books);

bookService.addBook(books);

return “redirect:/book/allBook”;

}

  1. 添加书籍页面:addBook.jsp

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

新增书籍

新增书籍

书籍名称:


书籍数量:


书籍详情:


  1. BookController 类编写 , 方法三:修改书籍

@RequestMapping(“/toUpdateBook”)

public String toUpdateBook(Model model, int id) {

Books books = bookService.queryBookById(id);

System.out.println(books);

model.addAttribute(“book”,books );

return “updateBook”;

}

@RequestMapping(“/updateBook”)

public String updateBook(Model model, Books book) {

System.out.println(book);

bookService.updateBook(book);

Books books = bookService.queryBookById(book.getBookID());

model.addAttribute(“books”, books);

return “redirect:/book/allBook”;

}

  1. 修改书籍页面 updateBook.jsp

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

修改信息

修改信息

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

修改信息

修改信息

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-z1xuevBs-1715595329642)]

[外链图片转存中…(img-9wKyZCBH-1715595329642)]

[外链图片转存中…(img-mAyJ8N4d-1715595329643)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值