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

框架集成——SpringMVC与MyBatis整合

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

框架集成——SpringMVC与MyBatis整合

框架集成——SpringMVC与MyBatis整合

SpringMVC与MyBatis是我们现在最流行的开发框架组合之一,所以整理一下框架的集成搭建过程

实现分页条件查询

项目目录结构

1.创建maven项目添加依赖


    
    
      org.projectlombok
      lombok
      1.18.12
      provided
    
    
    
    
      org.springframework
      spring-core
      5.3.5
    

    
    
      org.springframework
      spring-beans
      5.3.5
    


    
    
      org.springframework
      spring-context
      5.3.5
    
    
    
      org.springframework
      spring-aop
      5.3.5
    
    
    
      com.google.protobuf
      protobuf-java
      2.4.1
      compile
    
    
    
      junit
      junit
      4.13.1
      test
    
    
    
      com.alibaba
      druid
      1.2.6
    

    
    
      mysql
      mysql-connector-java
      8.0.25
    

    

    
    
      org.mybatis
      mybatis-spring
      1.3.2
    
    
      org.springframework
      spring-jdbc
      4.3.7.RELEASE
    
    
    
      jstl
      jstl
      1.2
    
    
    
      org.mybatis.generator
      mybatis-generator-core
      1.3.5
    
    
    
      org.mybatis
      mybatis
      3.4.6
    

    
      org.aspectj
      aspectjtools
      1.9.5
    

    
      aopalliance
      aopalliance
      1.0
    

    
      org.aspectj
      aspectjweaver
      1.9.0
    
    
      org.springframework
      spring-webmvc
      5.3.1
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
      com.github.pagehelper
      pagehelper
      5.0.0
    
    
    
      org.springframework
      spring-test
      5.3.9
      test
    
  

2.添加项目的目录结构,创建Mybatis_config.xml,spring_mybatis.xml,springMVC.xml,数据源druid.properties,日志log4j2.xml配置这些文件

Mybatis_config.xml




  
    
    
  
  
    
  

spring_mybatis.xml



    
        
    
    
    
        
        
        
        
    
    
        
    
    
    
    
    
    
        
        
        
        
        
        
    
    
    
        
    
    
    
        
    


















springMVC.xml



    
        
    
    
        
        
    
    
    
    

web.xml



  
    CharacterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceResponseEncoding
      true
    
  
  
    CharacterEncodingFilter
    /*
  

  
    HiddenHttpMethodFilter
    org.springframework.web.filter.HiddenHttpMethodFilter
  
  
    HiddenHttpMethodFilter
    /*
  

  
    DispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:springMVC.xml
    
    1
  
  
    DispatcherServlet
    /
  
  
  
    contextConfigLocation
    classpath:spring_mybatis.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  


实体类BookInfo.java使用Lombok

package com.syf.bean;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.stereotype.Component;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Component
public class BookInfo {
	private Integer bookid;
	private String bookname;
	private Integer booknum;
	private Integer bookprice;
	private String bookauthor;
	private String bookpublish;
	private Integer typeid;

}

持久层BookInfoDao.java

package com.syf.mapper;
import java.awt.print.Book;
import java.util.List;
import com.syf.bean.BookInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface BookInfoDao {
	public List selectall();
    public List selectall2(@Param("bookname") String bookname, @Param("min") Integer min, @Param("max") Integer max);
 }

mybaits 实现持久层接口BookInfoDao.xml




    
    
        
        
            
                
                AND bookname LIKE #{bookname}
            
            
                AND booknum ">>= #{min}
            
            
                AND  booknum <= #{max}
            
        
    

业务层BookInfoService.java

package com.syf.service;
import com.github.pagehelper.PageInfo;
import com.syf.bean.BookInfo;
public interface BookInfoService {

    public PageInfo getPageInfo(int pageNo,int nums,int pageSize);
    public PageInfo getPageInfo(int pageNo, int pageSize, int nums,String bookname,Integer min,Integer max);

}

实现类BookInfoServiceImpl.java

package com.syf.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.syf.bean.BookInfo;
import com.syf.mapper.BookInfoDao;
import com.syf.service.BookInfoService;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class BookInfoServiceImpl implements BookInfoService {
    @Autowired
    private BookInfoDao bookInfoDao;
    @Override
    public PageInfo getPageInfo(int pageNo, int nums, int pageSize) {
        Page page= PageHelper.startPage(pageNo,pageSize);
        List list=bookInfoDao.selectall();
        PageInfo pageInfo=new PageInfo<>(list,nums);
        return pageInfo;
    }
    @Override
    public PageInfo getPageInfo(int pageNo, int pageSize, int nums, String bookname, Integer min, Integer max) {
        Page page= PageHelper.startPage(pageNo,pageSize);
        List list=bookInfoDao.selectall2(bookname,min,max);
        PageInfo pageInfo=new PageInfo<>(list,nums);
        return pageInfo;
    }
}

控制层BookInfoController.Java

package com.syf.controller;

import com.github.pagehelper.PageInfo;
import com.syf.bean.BookInfo;
import com.syf.service.impl.BookInfoServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.Map;

@Controller
public class BookInfoController {
    @Autowired
    @Qualifier("bookInfoServiceImpl")
    private BookInfoServiceImpl bookInfoService;
    @GetMapping("/books")
    public String list(Integer pageNo, Map map){
        System.out.println("=========");
//        int pageSize=3;
//        int nums=3;
        if(pageNo==null){
            pageNo=1;
        }
        PageInfo pageInfo=bookInfoService.getPageInfo(pageNo,3,3);
        map.put("pageInfo",pageInfo);
        System.out.println("=========");
        return "booklist";
    }
    @PostMapping(value = "/books")
    public String list2(String bookname, Integer min, Integer max , Integer pageNo, Map map){
        if(pageNo==null){
            pageNo=1;
        }
        PageInfo pageInfo= bookInfoService.getPageInfo(pageNo,3,3,bookname,min,max);
        map.put("pageInfo",pageInfo);
        return "booklist";
    }
}

首页页面index.jsp

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


    Title


图书信息


显示页面booklist.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>  



<%----%>
<%--	*{--%>
<%--	margin: 0px;--%>
<%--	padding: 0px;--%>
<%--	}--%>
<%--	#a{--%>
<%--	margin: 10px atuo;--%>
<%--	width:100%; --%>
<%--	}--%>
<%--#.b{--%>
<%--	float: left;--%>
<%--	}--%>
<%----%>

Insert title here






	
图书编号 图书名称 图书数量 图书单价 作者 著作时间 图书类别
${book.bookid } ${book.bookname } ${book.booknum } ${book.bookprice } ${book.bookauthor } ${book.bookpublish } ${book.typeid }
共${pageInfo.pages}页 ,当前第${pageInfo.pageNum}页

测试结果

首页


显示

条件查询名称

数量范围

分页切换第一页

第四页

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

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

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