SSM框架之_Mybatis入门笔记,详解快速上手(四):日志与分页查询篇

ssm中使用myBatis分页插件pageHelper:进行分页查询 分页查询是开发项目时必不可少的,这里给大家介绍一个myBatis中的分页插件:pageHelper,使用分页插件可以方便并且快速的实现分页查询。 阅读详情

日志


日志工厂

如果一个数据库操作出现了异常,就需要排错,日志就是排错最好的助手。

之前排错可以用的到工具:sout、debug

新的工具:日志工厂。

mybatis内置了多种日志功能,mybatis的配置文件中可以设置。

image-20201029104147380


常用:LOG4J、STDOUT_LOGGING。

其他了解即可:

  • JDK_LOGGING:jdk自带的
  • NO_LOGGING:不启用日志

STDOUT_LOGGING:标准日志输出


LOG4J

  • 开源项目
  • 可以控制日志信息输送的目的地:控制台,文本,GUI组件…
  • 可以控制每一条日志的输出格式
  • 通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。
  • 通过配置文件来灵活的配置,不需要修改应用的代码

使用步骤:

  1. 注入依赖
<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
</dependency>
  1. 配置文件编写
#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file

#控制台输出的相关设置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
# 日志消息输出的最低层次
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n

#文件输出的相关设置
log4j.appender.file = org.apache.log4j.RollingFileAppender
# 日志输出目录
log4j.appender.file.File=./log/kuang.log
# 日志输出文件切割大小
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
  1. 设置日志实现
<settings>
   <setting name="logImpl" value="LOG4J"/>
</settings>
  1. 在程序中使用log4j输出
//注意导包:org.apache.log4j.Logger
static Logger logger = Logger.getLogger(MyTest.class);

@Test
public void selectUser() {
   logger.info("info:进入selectUser方法");
   logger.debug("debug:进入selectUser方法");
   logger.error("error: 进入selectUser方法");
   SqlSession session = MybatisUtils.getSession();
   UserMapper mapper = session.getMapper(UserMapper.class);
   List<User> users = mapper.selectUser();
   for (User user: users){
       System.out.println(user);
  }
   session.close();
}


分页

Limit实现分页

操作sql语句。分页查询。


语法:

#语法
SELECT * FROM table LIMIT stratIndex,pageSize

# 参数:起始行,偏移量
SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15  

# 这是bug,已经被修复了
#为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:   
SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.  

#如果只给定一个参数,它表示返回最大的记录行数目:   
SELECT * FROM table LIMIT 5; //检索前 5 个记录行  

#换句话说,LIMIT n 等价于 LIMIT 0,n。 

步骤:

  1. 修改Mapper文件
<select id="selectUser" parameterType="map" resultType="user">
<!-- 起始页,偏移量 -->
  select * from user limit #{startIndex},#{pageSize}
</select>
  1. Mapper接口,参数为map
//选择全部用户实现分页
List<User> selectUser(Map<String,Integer> map);
  1. 在测试类中传入参数测试

起始位置 = (当前页面 - 1 ) * 页面大小

//分页查询 , 两个参数startIndex , pageSize
@Test
public void testSelectUser() {
   SqlSession session = MybatisUtils.getSession();
   UserMapper mapper = session.getMapper(UserMapper.class);

   int currentPage = 1;  //第几页
   int pageSize = 2;  //每页显示几个
   Map<String,Integer> map = new HashMap<String,Integer>();
   map.put("startIndex",(currentPage-1)*pageSize);
   map.put("pageSize",pageSize);

   List<User> users = mapper.selectUser(map);

   for (User user: users){
       System.out.println(user);
  }

   session.close();
}

RowBounds分页

java代码层面的分页。

比较老的方式,速度不如sql层面。

步骤:

  1. mapper接口
//选择全部用户RowBounds实现分页
List<User> getUserByRowBounds();
  1. mapper文件
<select id="getUserByRowBounds" resultType="user">
select * from user
</select>
  1. 测试类

    引用RowBounds类

@Test
public void testUserByRowBounds() {
   SqlSession session = MybatisUtils.getSession();

   int currentPage = 2;  //第几页
   int pageSize = 2;  //每页显示几个
   RowBounds rowBounds = new RowBounds((currentPage-1)*pageSize,pageSize);

   //通过session.**方法进行传递rowBounds,[此种方式现在已经不推荐使用了]
   List<User> users =session.selectList("com.kuang.mapper.UserMapper.getUserByRowBounds",null, rowBounds);

   for (User user: users){
       System.out.println(user);
  }
   session.close();
}

分页插件PageHelper

网址:https://pagehelper.github.io/

在前端实现分页,非常的慢,后台开发不建议使用。

SSM快速入门篇 SSM快速入门篇 1、需要导入的依赖(jar包) <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> &l... 阅读详情

相关推荐

Java SSM框架详解:从入门到实战

SSM框架是Spring、Spring MVC和MyBatis的组合,用于构建高效、灵活的企业级Web应用。使用注解定义控制器,处理HTTP请求。");通过整合Spring、Spring MVC和MyBatis,SSM框架为开发者提供了一个高效、灵活的开发环境。Spring负责依赖注入和AOP,Spring MVC处理Web请求,MyBatis简化数据库操作。希望本文的示例和讲解能帮助您快速上手SSM框架。

C_V_Better的博客 706

MyBatis03:ResultMap和分页

MyBatis03:ResultMap和分页 搭建项目 当数据库字段和实体类属性名不一致时 public class User { private int id; private String name; private String password; //get\set\有参无参构造 } 查询结果为null sql映射文件中 <select id="selectUser" resultType="com.wgg.pojo.User"> sele

qq_43349162的博客 368

SSM框架之Mybatis——Mybatis入门

一、Mybatis的简介 1.1原始JDBC操作缺点及改进方向 首先我们一起来看看原始的JDBC操作数据库的一般步骤, Class.forName("com.mysql.jdbc.Diver");//注册驱动 Connection connection=DriverManager.getConnection("jdbc:mysql:///mydb1","root","3837");//获得数据库连接 PreparedStatement statement=connection.prepare...

小唐要努力的博客 941

SSM框架学习日志——Mybatis详述

Mybatis 1、简介 1.1 什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 如何获得Mybatis Maven仓库 Github 中文文档:https://mybati

qq_44785604的博客 541

SSM框架快速入门与实践模板

SSM框架是Java EE开发中的重要技术栈,它整合了Spring、Spring MVC和MyBatis三个框架,各自承担着不同的开发层面职责,为现代Web应用的构建提供了强大的支持。本章节将对SSM框架做一个全面的基础性介绍,为之后深入探讨各个框架的核心功能和高级特性打下坚实的基础。SSM框架是一种整合模式,它将Spring的轻量级控制反转(IoC)和面向切面编程(AOP)特性,Spring MVC的Web开发框架以及MyBatis的半自动ORM功能结合起来。

weixin_27645199的博客 978

Ansys Lumerical实战:5步搞定Mach-Zehnder调制器多物理场仿真(附眼图分析技巧)

本文详细介绍了使用Ansys Lumerical进行行波马赫-曾德尔调制器多物理场仿真的完整流程。通过CHARGE、MODE和INTERCONNECT三大模块的协同工作,从电学参数提取、光学射频特性分析到系统级眼图评估,分步解析了高效仿真与性能优化的核心技巧,为硅光调制器设计提供了实战指南。

weixin_29056781的博客 547

MacBook中的IDEA的SSM整合---->Spring和Mybatis的整合和日志的配置

MacBook中的IDEA的SSM整合---->Spring和Mybatis的整合和日志的配置

zhuozhuio的博客 497

YOLOv8改进 | 融合篇,YOLOv8主干改进融合网络之MobileNetV3+CA注意机制,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。YOLOv8中的主干网络替换成MobileNetV3+引入CA注意机制

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1884

【SSM框架】Mybatis详解06 对象分析、注册别名、设置日志输出

手把手深入剖析Mybatis三大对象、注册别名、设置日志输出

muzi_longren的博客 9913

全网详细解决Client does not support authentication protocol requested by server;consider upgrading Mysql c

全网详细解决1251 - Client does not support authentication protocol requested by server; consider upgrading Mysql client。

念兮为美 5479

基于Cesium的简易淹没分析效果

淹没分析是通过模拟水体扩散过程来评估洪水、海平面上升等情景下可能影响的区域,其核心作用是为防灾减灾、规划设计和风险管理提供科学依据。预测淹没的范围、水深和持续时间,识别高风险区域,帮助政府制定应急预案和疏散路线,减少人员伤亡和财产损失。

星云数海的博客,一个专注GIS十多年的GISer人。 532

SSM框架之Mybatis日志文件的配置

今天总结一下如何配置Mybatis日志 Mybatis日志的功能有好多种,今天就总结一下比较常用的Log4J日志的配置。 第一、mybatis-config.xml 配置文件需要写入的代码 &lt;configuration&gt; &lt;settings&gt; &lt;setting name="logImpl" value="LOG4J"/&gt; &lt;/settings...

梁先森的博客 1308

波士顿房价预测分析----以线性回归LinearRegression为例

波士顿房价数据集包括506个样本,每个样本包括13个特征变量和该地区的平均房价,房价显然和多个特征变量相关,先选择一元线性回归与多个特征建立线性方程,观察模型预测的好坏,再选择多元线性回归进行房价预测。13个特征变量缩写含义CRIM城镇人均犯罪率ZN住宅用地所占比例INDUS城镇中非住宅用地所占比例CHAS虚拟变量,用于回归分析NOX环保指数RM每栋住宅的房间数AGE1940 年以前建成的自住单位的比例DIS距离 5 个波士顿的就业中心的加权距离RAD。

我走的每一步都算数 843

SSM框架详解

SSM框架是指将Spring、SpringMVC和MyBatis三个技术框架结合起来使用的一种开发模式。它的目标是通过整合这三个框架的优势,实现高效、灵活、可扩展的Web应用程序开发。Spring:提供了IoC(Inverse of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)等功能,简化了企业级应用的开发流程。

m0_72410588的博客 3万+

【2024遥感应用组一等奖】基于时空融合和水量平衡法的若尔盖高原水源涵养功能评价

考虑到水源涵养的概念和尺度特征、数据的可获得性、模型的模拟精度等,构建了一种基于遥感、气象和水量平衡原理的草原湿地水源涵养评价方法,估算若尔盖湿地近23年(2000-2022)来的水源涵养量。若尔盖湿地是我国黄河源区的重要水源地,所以本研究以若尔盖湿地的水源涵养功能评估为科学问题,基于遥感数据、GIS数据等,利用水量平衡原理,发展计算简单、便捷、数据易获取的“水源涵养估算方法”,科学估算若尔盖湿地水源涵养服务量,探究其时空动态变化趋势及其影响因素;公式中,Z1和Z2为两个不同高度面的高度,u为摩擦速率;

JData_Engineer的博客 240

微信小程序转发功能异常报错 由于小程序违规分享功能暂时无法使用的解决办法

小程序右上角转发功能被封,不代表你违规了,而可能是你没认证、没备案!很多功能都是“先合规、后开发”,踩坑就晚了,别像我一样绕了三圈才发现问题。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2631

三万字速通SSM框架入门知识点,快速上手CRUD

ssm框架有三个框架组合而成——spring、springMVC、MyBatis。 ...

扎哇太枣糕的笔记博客 2946

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1471

SSM框架整合(2020基础版)

文章目录一、SSM框架简介1.1、基本概念1.2、环境准备1.3、SSM整合思路 一、SSM框架简介 1.1、基本概念 三层架构:   开发架构一般都是基于两种形式:一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。   在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。其中每一层都分工明确: ...

qq_25083447的博客 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SSM框架整合教程(新手篇)

SSM框架整合教程(新手篇) ssm框架 ssm框架是由Spring、SpringMVC、MyBatis三个开源框架整合而成的框架,本篇教程可针对对此框架完全不了解的同学第一次对它进行整合以及了解。本篇教程小编以一个简单的留言板(BBS)项目来进行讲解,项目用的是jsp页面进行前后端的交互,是小编用了不到一下午编出来的,简单易懂,希望能够对大家有所帮助。 必须的工具 1.Tomcat 2

RaAlGhul的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SSM框架整合

MVC设计模式代表(模型视图控制器) 模式,这种模式用于应用程序的分层开发,解决了应用程序中业务逻辑、数据和界面显示的耦合问题,SSM框架就是实现了MVC设计模式的具体框架。SSM框架分别是指SpringSpringMVC和MyBatis框架的组合。

像污秽一样的博客 2744

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

SSM框架专题-MyBatis框架从零入门老杜版笔记(上)

MyBatis自用笔记,记录学习全过程

u011005040的博客 1万+

SSM框架自学(五)——Maven构建SSM项目快速入门

前言:目前大部分的 Java 互联网项目,都是用 Spring MVC + Spring + MyBatis 搭建平台的。毫无疑问,SSM框架已经成了 Java 互联网技术主流框架组合,它们经受住了大数据量和大批量请求的考验,完全可以构建高性能的大型网站。这篇文章主要讲讲我在IDEA下利用Maven如何快速搭建一个整合SSM框架的Web项目,包括服务端和前端 。 ...

何哥的博客 5024

MyBatis-Plus 详解(基于黑马网课ssm进行笔记总结)(day9完结)

MyBatis-Plus(MP)是MyBatis的增强工具,旨在简化CRUD操作,提高开发效率。文章详细介绍了MP的核心功能:1)快速入门,只需继承BaseMapper即可实现通用CRUD;2)分页查询,通过配置拦截器实现;3)条件查询,支持Wrapper、链式编程和Lambda表达式;4)实体与表的映射匹配;5)主键ID生成策略;6)批量操作;7)逻辑删除功能。MP内置多种实用功能,同时保持与MyBatis的兼容性,是企业级开发的高效选择。

yyzytx5201314的博客 1639

SSM(Spring+Spring MVC+Mybatis)环境框架搭建与配置详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 一、简介 使用SSM框架做了一些项目,一直都是使用别人已经搭建好的框架。于是自己尝试着搭建了一下框架,并研究了一下配置文件。 基本的组织结构和用法就不用多说了,各种官方文档上比较全面 二、环境与框架 开发环境MyEclipse+JDK1.7+Tomcat7 开发环境配置请查阅博客 本文按

pgpanda的专栏 2万+
上一篇: 解决idea中报错:Error:(1, 1) java: 非法字符: ‘\ufeff‘
下一篇: Sublime text 如何显示文件的编码
折纸之泪
博客等级 码龄7年 25粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值