目录
1.环境搭建
1.1创建Maven项目
1.2导入依赖以及解决静态资源导出问题
2.整合Mybatis
2.1创建database.properties
2.2创建mybatis-config.xml(自动扫描包生成别名、注册mapper)
2.3创建spring-dao.xml
2.4编写BookMapper接口和BookMapper.xml,同时注册mapper(2.2创建的文档中注册)
3.整合Spring
3.1编写Service层接口以及实现类
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写BookController
5.编写applicationContext.xml并导入4.1节3.2节和2.3节编写的文件
6.配置web.xml
7.测试
1.环境搭建
1.1创建Maven项目
1.2导入依赖以及解决静态资源导出问题
junit
junit
4.13.1
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.1
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.7
org.mybatis
mybatis-spring
2.0.6
org.springframework
spring-webmvc
5.3.13
org.springframework
spring-jdbc
5.3.13
org.aspectj
aspectjweaver
1.9.2
com.fasterxml.jackson.core
jackson-databind
2.13.0
src/main/resources
***.xml
true
src/main/java
***.properties
true
2.整合Mybatis
2.1创建database.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=123456
2.2创建mybatis-config.xml(自动扫描包生成别名、注册mapper)
2.3创建spring-dao.xml
2.4编写BookMapper接口和BookMapper.xml,同时注册mapper(2.2创建的文档中注册)
package com.dao;
import com.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
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();
}
insert into ssmbuild.books (bookName,bookCounts,details)
values (#{bookName},#{bookCounts},#{details});
delete from ssmbuild.books where bookID=#{BookId};
update ssmbuild.books
set bookName=#{bookName},bookCounts#{bookCounts},details#{details}
where bookID=#{BookID};
3.整合Spring
3.1编写Service层接口以及实现类
package com.service;
import com.pojo.Books;
import java.util.List;
public interface BookService {
int addBook(Books books);
int deleteBookById(int id);
int updateBook(Books books);
Books queryBookById(int id);
List queryAllBook();
}
package com.service;
import com.dao.BookMapper;
import com.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
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();
}
}
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
1.2导入依赖以及解决静态资源导出问题
junit
junit
4.13.1
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.1
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.7
org.mybatis
mybatis-spring
2.0.6
org.springframework
spring-webmvc
5.3.13
org.springframework
spring-jdbc
5.3.13
org.aspectj
aspectjweaver
1.9.2
com.fasterxml.jackson.core
jackson-databind
2.13.0
src/main/resources
***.xml
true
src/main/java
***.properties
true
2.整合Mybatis
2.1创建database.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=123456
2.2创建mybatis-config.xml(自动扫描包生成别名、注册mapper)
2.3创建spring-dao.xml
2.4编写BookMapper接口和BookMapper.xml,同时注册mapper(2.2创建的文档中注册)
package com.dao;
import com.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
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();
}
insert into ssmbuild.books (bookName,bookCounts,details)
values (#{bookName},#{bookCounts},#{details});
delete from ssmbuild.books where bookID=#{BookId};
update ssmbuild.books
set bookName=#{bookName},bookCounts#{bookCounts},details#{details}
where bookID=#{BookID};
3.整合Spring
3.1编写Service层接口以及实现类
package com.service;
import com.pojo.Books;
import java.util.List;
public interface BookService {
int addBook(Books books);
int deleteBookById(int id);
int updateBook(Books books);
Books queryBookById(int id);
List queryAllBook();
}
package com.service;
import com.dao.BookMapper;
import com.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
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();
}
}
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
2.1创建database.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=123456
2.2创建mybatis-config.xml(自动扫描包生成别名、注册mapper)
2.3创建spring-dao.xml
2.4编写BookMapper接口和BookMapper.xml,同时注册mapper(2.2创建的文档中注册)
package com.dao;
import com.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
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();
}
insert into ssmbuild.books (bookName,bookCounts,details)
values (#{bookName},#{bookCounts},#{details});
delete from ssmbuild.books where bookID=#{BookId};
update ssmbuild.books
set bookName=#{bookName},bookCounts#{bookCounts},details#{details}
where bookID=#{BookID};
3.整合Spring
3.1编写Service层接口以及实现类
package com.service;
import com.pojo.Books;
import java.util.List;
public interface BookService {
int addBook(Books books);
int deleteBookById(int id);
int updateBook(Books books);
Books queryBookById(int id);
List queryAllBook();
}
package com.service;
import com.dao.BookMapper;
import com.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
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();
}
}
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
2.3创建spring-dao.xml
2.4编写BookMapper接口和BookMapper.xml,同时注册mapper(2.2创建的文档中注册)
package com.dao;
import com.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
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();
}
insert into ssmbuild.books (bookName,bookCounts,details)
values (#{bookName},#{bookCounts},#{details});
delete from ssmbuild.books where bookID=#{BookId};
update ssmbuild.books
set bookName=#{bookName},bookCounts#{bookCounts},details#{details}
where bookID=#{BookID};
3.整合Spring
3.1编写Service层接口以及实现类
package com.service;
import com.pojo.Books;
import java.util.List;
public interface BookService {
int addBook(Books books);
int deleteBookById(int id);
int updateBook(Books books);
Books queryBookById(int id);
List queryAllBook();
}
package com.service;
import com.dao.BookMapper;
import com.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
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();
}
}
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
package com.dao;
import com.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
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();
}
insert into ssmbuild.books (bookName,bookCounts,details) values (#{bookName},#{bookCounts},#{details}); delete from ssmbuild.books where bookID=#{BookId}; update ssmbuild.books set bookName=#{bookName},bookCounts#{bookCounts},details#{details} where bookID=#{BookID};
3.整合Spring
3.1编写Service层接口以及实现类
package com.service;
import com.pojo.Books;
import java.util.List;
public interface BookService {
int addBook(Books books);
int deleteBookById(int id);
int updateBook(Books books);
Books queryBookById(int id);
List queryAllBook();
}
package com.service;
import com.dao.BookMapper;
import com.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
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();
}
}
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
package com.service;
import com.pojo.Books;
import java.util.List;
public interface BookService {
int addBook(Books books);
int deleteBookById(int id);
int updateBook(Books books);
Books queryBookById(int id);
List queryAllBook();
}
package com.service;
import com.dao.BookMapper;
import com.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
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();
}
}
3.2编写spring-service.xml
4整合SpringMVC
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
4.1编写spring-mvc.xml
4.2编写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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
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.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 booksList = bookService.queryAllBook();
model.addAttribute("list",booksList);
return "allbook";
}
}
4.3.注册DispatcherServlet
web.xml中配置,DispatcherServlet本质上是一个Servlet,客户发送的每一个请求都要经过DispatcherServlet,然后DispatcherServlet调用控制器映射器来返回请求需要访问的接口名称。然后DispatcherServlet调用控制器适配器去找到相应的接口并访问。
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
springmvc
/
5.编写applicationContext.xml并导入4.1节3.2节和2.3节编写的文件
6.配置web.xml
包括解决中文乱码、session过期时间等
springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:applicationContext.xml 1 springmvc / encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 encodingFilter /* 15
7.测试
通过前端页面访问BookController中的list方法,该方法为查询所有书籍,并返回前端页面
jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
$Title$
点击查询所有书籍
点击后:书籍信息以JSON形式返回到前端页面



