0

0

SpringMVC+MyBatis分页(最新)

高洛峰

高洛峰

发布时间:2017-01-07 10:31:59

|

1470人浏览过

|

来源于php中文网

原创

目前主流的web mvc框架,除了struts这个主力 外,还有spring mvc,主要是由于spring mvc配置比较简单,使用起来也十分明了,非常灵活,与spring 集成较好,对restful api的支持也比struts要好。

MyBatis是ibatis的升级版,作为hibernate的老对手,它 是一个可以自定义SQL、存储过程和高级映射的持久层框架。

与hibernate的主要区别就是mybatis是半自动化的,而hibernate是全自动的,所以当应用需求越来越复杂的时候,自动化的sql显得比较笨拙。

由于前段时间接了个项目要用springmvc做,所以我抱着练手的态度,又玩起了整合框架的游戏。经常搭框架的人应该都清楚,框架搭建的核心就是配置文件。所以我主要贴下几个配置文件的代码。还是那句话,我都是写好配置文件之后,运行报错再加jar。这里列一下我用的jar包(应该是最少的):

SpringMVC+MyBatis分页(最新)

备注:上图有一些额外的jar,比如我用的数据库连接池是阿里巴巴的druid、日志框架式logback,所以引入了相关jar。关于这两个框架的使用和配置都是非常简单的,所以这里就不细说。

1.整合SpringMVC

springMybatis-servlet.xml:

  
 
    
    
    
   
    
  
   
   
    
    
   
    
      
     
    
  
   
    
      
      
       
       
       
        
        
     
    
   
     

2.整合Mybatis

spring-dao.xml:

  
 
    
  
   
  
   
    
  
    
     
     
     
    
    1 
    5 
    1 
    
    60000 
    
    stat 
    
    60000 
    
    300000 
    
   
    
  
   
     
    

3.web.xml整合SpringMVC和Mybatis

 
 
  
  
   
    default 
    /js/* 
    /css/* 
    /images/* 
    /fonts/* 
   
    
  
   
    encodingFilter 
    org.springframework.web.filter.CharacterEncodingFilter 
     
      encoding 
      UTF-8 
     
     
      forceEncoding 
      true 
     
   
   
    encodingFilter 
    /* 
   
    
  
   
    springMybatis 
    org.springframework.web.servlet.DispatcherServlet 
    1 
   
   
    springMybatis 
    
    / 
   
     
   
    contextConfigLocation 
    /WEB-INF/config/spring-*.xml 
   
   
    org.springframework.web.context.ContextLoaderListener 
   
  
   
    DruidStatView 
    com.alibaba.druid.support.http.StatViewServlet 
   
   
    DruidStatView 
    /druid/* 
   
    
   
    404 
    /error/404.jsp 
   
   
    500 
    /error/500.jsp 
   

4.logback.xml日志配置

 
 
  
  
    
    %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 
   
  
   
  
   
  
   
  
 
  
   
  

5.configuration.properties配置

I-Shop购物系统
I-Shop购物系统

部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/

下载
jdbc.url=jdbc\:mysql\://localhost\:3306/druid?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior\=convertToNull 
jdbc.username=root 
jdbc.password=123456

6.测试搭建是否成功,后台代码

首先是登录,用了加密,可以去掉

package com.alibaba.controller;  
import javax.annotation.Resource; 
import javax.servlet.http.HttpServletRequest; 
  
import org.apache.commons.codec.digest.DigestUtils; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RequestParam; 
  
import com.alibaba.model.User; 
import com.alibaba.service.UserService; 
import com.alibaba.util.RequestUtil; 
  
/** 
 * @author tfj 
 * 2014-7-26 
 */
@Controller
public class SystemController { 
  private final Logger log = LoggerFactory.getLogger(SystemController.class); 
  @Resource
  private UserService userService; 
    
  @RequestMapping(value = "/",method = RequestMethod.GET) 
  public String home() { 
    log.info("返回首页!"); 
    return "index"; 
  } 
    
  @RequestMapping(value = "/test/hello",method = RequestMethod.GET) 
  public String testHello() { 
    log.info("执行了testHello方法!"); 
    return "testHello"; 
  } 
    
  @RequestMapping(value = "/login",method = RequestMethod.POST) 
  public String testLogin(HttpServletRequest request,@RequestParam String username, @RequestParam String password) { 
    log.info("执行了testLogin方法!"); 
    User user = userService.findUserByName(username); 
    if(user!=null){ 
      if(user.getPassword().equals(DigestUtils.md5Hex(password))){ 
        request.getSession().setAttribute("userId", user.getId());  
        request.getSession().setAttribute("user", username);  
        return "redirect:" + RequestUtil.retrieveSavedRequest();//跳转至访问页面 
      }else{ 
        log.info("密码错误");  
        request.getSession().setAttribute("message", "用户名密码错误,请重新登录"); 
        return "login";  
      } 
    }else{ 
      log.info("用户名不存在");  
      request.getSession().setAttribute("message", "用户名不存在,请重新登录"); 
      return "login";  
    } 
  } 
}

关于service和model就不写了,写一下mybatis的mapper类映射

 
 
   
   

7.前台jsp主要是登录和登录成功的页面,就不写了

到此,springmvc+mybatis整合成功。后续复杂的功能待添加

注意事项

1.框架中关于druid和logback的配置都是从官网上copy下来的,所以都是最基本的,读者可以忽略,也可以换成读者熟悉的数据库组件和日志框架,如c3p0和log4j。

2.代码里加入了权限管理,即访问前需登录,登录后跳转至待访问页面

3.本文是从我的测试代码里剥离出来的最简单的也是最基本的代码,有些没剥离干净的地方还请见谅。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

更多SpringMVC+MyBatis分页(最新)相关文章请关注PHP中文网!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号