栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM项目整合实例(一)-----书籍管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM项目整合实例(一)-----书籍管理

该项目来自【狂神说Java】 b站地址 https://www.bilibili.com/video/BV1RE41127rv
自己复现了一遍
这是狂神的步骤 https://mp.weixin.qq.com/s/SDxqGu_il3MUCTcN1EYrng

第一步 搭建整体环境

先看看项目的结构图

maven引入pom依赖
这个就是固定模板,缺什么的话后续接着引入


        
        
            junit
            junit
            4.12
        
        
        
            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.2
        
        
            javax.servlet
            jstl
            1.2
        
        
        
            org.mybatis
            mybatis
            3.5.2
        
        
            org.mybatis
            mybatis-spring
            2.0.2
        

        
        
            org.springframework
            spring-webmvc
            5.1.9.RELEASE
        
        
            org.springframework
            spring-jdbc
            5.1.9.RELEASE
        
    
    
        
            
                src/main/java
                
                    ***.xml
                
                false
            
            
                src/main/resources
                
                    ***.xml
                
                false
            
        
    

创建库和书籍表

create database `booksystem`;
create table `books`(
	bookId int(10) not null primary key auto_increment comment '书号',
	bookName varchar(100) not null comment '书名',
	bookCounts int(11) not null comment '数量',
	bookDetail varchar(200) not null comment '描述'
)ENGINE=InnoDB default charset=utf8;

数据库配置文件
db.peoperties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/booksystem?useSSL=false&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
pojo层

编写书籍实体
Books.java

    private int bookId;
    private String bookName;
    private int bookCounts;
    private String bookDetail;

生成对应的无参和有参构造器,然后就是get,set,toString方法,这个大家一定都做yue了吧(苦笑)

dao层

编写实体类对应的接口
BookMapper.java

public interface BookMapper {
	//见名知意
    List getAllBook();
    Books getBookById(@Param("bookId") int id);
    int addBook(Books books);
    int updateBook(Books books);
    int deleteBookById(@Param("bookId") int id);
}

实现对应的sql
BookMapper.xml


    
        select * from booksystem.books where bookId=#{bookId};
    

    
        insert into booksystem.books(bookName, bookCounts, bookDetail) values (#{bookName},#{bookCount},#{bookDetail});
    

    
        update booksystem.books set bookName=#{bookName},bookCounts=#{bookCounts},bookDetail=#{bookDetail} where bookId=#{bookId};
    

    
        delete from booksystem.books where bookId=#{bookId};
    

mybatis核心配置文件




    
        
    

    
        
    

service层

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

public interface BookService {
    List getAllBook();
    Books getBookById(int id);
    int addBook(Books books);
    int updateBook(Books books);
    int deleteBookById(int id);
}

实现类BookServiceImp.java

public class BookServiceImp implements BookService {
    private BookMapper bookMapper;

    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }

    public List getAllBook() {
        return bookMapper.getAllBook();
    }

    public Books getBookById(int id) {
        return getBookById(id);
    }

    public int addBook(Books books) {
        return bookMapper.addBook(books);
    }

    public int updateBook(Books books) {
        return bookMapper.updateBook(books);
    }

    public int deleteBookById(int id) {
        return bookMapper.deleteBookById(id);
    }
}
spring核心配置文件


Spring层
配置Spring整合MyBatis,数据源使用c3p0连接池
spring-dao.xml



    

    
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
        
        
    

Spring整合service层
spring-service.xml




    
    
    
    
        
        
    
    
    
        
    

SpringMVC
spring-mvc.xml



    
    
    
    
    
    
    
        
        
    
    
    

applicationContext.xml



    
    
    

关于ref="bookMapper"爆红的解决方法

需要注意的是,以上三个spring的配置文件需要在同一目录中,可以在project structure中进行查看,如果没有显示的话,可以手动配置(点击加号)。

web核心配置



    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:applicationContext.xml
        
        1
    
    
        DispatcherServlet
        /
    
    
    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encodingFilter
        /*
    

    
    
        15
    


第二步 功能实现

查询所有书本
视图页面ShowAllBook.jsp


    书籍
    
  
  
  
书籍编号 书籍名称 书籍数量 书籍详情 操作
${book.bookId} ${book.bookName} ${book.bookCounts} ${book.bookDetail} 修改| 删除

控制层对应功能实现

//查询所有书籍
    @RequestMapping("/toGetAllBook")
    public String toGetAllBook(Model model){
        List booksList = bookService.getAllBook();
        model.addAttribute("bookslist",booksList);
        return "ShowAllBook";
    }

添加书本
视图页面AddBook.jsp


    

控制层功能实现

//跳转到添加书籍页面
    @RequestMapping("/toAddBook")
    public String toAddBook(){
        return "AddBook";
    }
    //添加书籍
    @RequestMapping("/doAddBook")
    public String doAddBook(Books books){
        bookService.addBook(books);
        return "redirect:/books/toGetAllBook";
    }

修改书本
视图页面UpdateBook.jsp


控制层功能实现

//查询需要修改的书籍编号,并跳转到修改页面
    @RequestMapping("/toUpdateBook")
    public String toUpdateBook(Model model,int id){
        Books bookById = bookService.getBookById(id);
        model.addAttribute("bookById",bookById);
        return "UpdateBook";
    }
    //修改书籍
    @RequestMapping("/doUpdateBook")
    public String doUpdateBook(Books books){
        bookService.updateBook(books);
        return "redirect:/books/toGetAllBook";
    }

删除书本
控制层功能实现

 //删除书籍
    @RequestMapping("/doDeleteBook/{bookId}")
    public String doDeleteBook(@PathVariable("bookId") int id){
        bookService.deleteBookById(id);
        return "redirect:/books/toGetAllBook";
    }

完整的控制层实现代码

@Controller
@RequestMapping("/books")
public class BookController {
    @Autowired
    @Qualifier("BookServiceImp")
    private BookService bookService;
    //跳转到首页
    @RequestMapping("/toIndex")
    public String toIndex(){
        return "index";
    }
    //查询所有书籍
    @RequestMapping("/toGetAllBook")
    public String toGetAllBook(Model model){
        List booksList = bookService.getAllBook();
        model.addAttribute("bookslist",booksList);
        return "ShowAllBook";
    }
    //跳转到添加书籍页面
    @RequestMapping("/toAddBook")
    public String toAddBook(){
        return "AddBook";
    }
    //添加书籍
    @RequestMapping("/doAddBook")
    public String doAddBook(Books books){
        bookService.addBook(books);
        return "redirect:/books/toGetAllBook";
    }
    //查询需要修改的书籍编号,并跳转到修改页面
    @RequestMapping("/toUpdateBook")
    public String toUpdateBook(Model model,int id){
        Books bookById = bookService.getBookById(id);
        model.addAttribute("bookById",bookById);
        return "UpdateBook";
    }
    //修改书籍
    @RequestMapping("/doUpdateBook")
    public String doUpdateBook(Books books){
        bookService.updateBook(books);
        return "redirect:/books/toGetAllBook";
    }
    //删除书籍
    @RequestMapping("/doDeleteBook/{bookId}")
    public String doDeleteBook(@PathVariable("bookId") int id){
        bookService.deleteBookById(id);
        return "redirect:/books/toGetAllBook";
    }
}

至此,一个简单地SSM框架整合项目完成。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号