`

mybatis学习demo2之分页查询和修改

阅读更多
昨天下班之前想到了分页的,在网上找了下,说mybatis的分页是查询了全部后在进行的分页,如果数据量很大的话就不建议使用内部的分页,并且还有人写了插件,也没去仔细的看,这里是地址,有心人可以去研究下http://www.cnblogs.com/jcli/archive/2011/08/09/2132222.html 这里我仅是使用mybatis内部的分页和修改操作,代码也是基于昨天上传的那个简单demo

步骤依旧是昨天那样,只是在接口添加了分页查询的方法和在对应的文件写上sql语句,具体如下:

这是接口新增的方法:

package test.batics.service;

import java.util.List;

import org.apache.ibatis.session.RowBounds;

import test.batics.entity.User;

public interface UserMapper {
	//通过id查询
	User findById(Long id);
	//查询全部
	List<User> findAll();
	//分页查询
	List<User> findPage(RowBounds bounds);
	//修改操作
	int updateById(User user);
}


这是映射文件的增加的语句,注意id和接口方法名对应,其中有通过if判断是否为空来动态生成的sql,mybatis也很多内部标签来构建动态sql语句


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="test.batics.service.UserMapper">
	<select id="findById" parameterType="java.lang.Long" resultType="User">
		select * from t_user where id = #{value} 
	</select>
	<select id="findAll" resultType="User">
		select * from t_user
	</select>
	<select id= "findPage" resultType="User">
		select * from t_user
	</select>
	<update id="updateById" parameterType="User">
		update t_user
		<set> 
			<if test="email != null and email !=''">
				 email = #{email,jdbcType=VARCHAR}
			</if>
			<if test="name !=null and name != ''">
				name = #{name,jdbcType=VARCHAR}
			</if>
		</set>
		where id = #{id}
	</update>
</mapper>


mybatis用于分页的主要是RowBounds这个类,其中通过构造函数来构造一个从offset开始查询limit个数据的对象,RowBounds(int offset, int limit)
可以通过session的session.selectList(String arg0, Object arg1, RowBounds arg2)来得到,其中第一个参数是mapper中的namespace+"."+"方法ID",也可以理解为namespace+"."+"接口名",第二个参数是要穿进去的参数 可以理解为mapper中的param或者是接口中的参数,最后一个就是RowBounds了!
然后也可以通过在接口方法中添加一个RowBounds参数,都是一样的,上面均有提供

网速慢的很,就不提供全部运行结果了,修改结果如下:








代码也上传了,都是些简单的应用,网速慢,jar包就没上传,在第一篇demo1中有连接,需要的自己去下载就OK了
  • 大小: 14.2 KB
  • 大小: 41.1 KB
  • 大小: 12.5 KB
分享到:
评论

相关推荐

    06实现mybatis分页插件demo

    06实现mybatis分页插件demo06实现mybatis分页插件demo06实现mybatis分页插件demo06实现mybatis分页插件demo06实现mybatis分页插件demo06实现mybatis分页插件demo06实现mybatis分页插件demo06实现mybatis分页插件demo...

    spring + springmvc + mybatis 整合 demo 及 mybatis-paginator分页 demo

    通过学习和分析这个demo,开发者可以深入理解Spring、SpringMVC和MyBatis的整合方式,以及如何利用Mybatis-Paginator实现高效便捷的分页功能。这对于提升Java Web开发技能和理解企业级应用架构具有重要意义。

    mybatis中进行sqlserver分页

    mybatis中,sqlserver分页

    SpringMVC+MyBatis+EasyUI简单分页Demo

    在分页场景下,你需要使用MyBatis的动态SQL来构造分页查询,例如使用`&lt;if&gt;`、`&lt;choose&gt;`等标签条件性地添加LIMIT和OFFSET子句。同时,通过PageHelper插件可以方便地实现分页功能,它自动处理分页参数,简化了代码。 ...

    MyBatis 分页插件PageHelper Demo

    【MyBatis PageHelper分页插件Demo详解】 在Java Web开发中,数据查询往往涉及到大量的数据量,这时分页查询就显得尤为重要。MyBatis PageHelper插件是一款专为MyBatis设计的高效分页插件,它可以无缝对接Spring ...

    Spring Boot+Mybatis-Plus+Thymeleaf+Bootstrap分页页查询(前后端都有).zip

    在本项目中,我们结合了Spring Boot、Mybatis-Plus、Thymeleaf以及Bootstrap来实现一个具有分页查询功能的Web应用。首先,让我们详细探讨每个技术在项目中的作用和实现方式。 **Spring Boot** Spring Boot是Spring...

    MyBatisDemo

    通过MyBatisDemo,初学者可以逐步了解并熟悉MyBatis的基本概念和使用方式,为进一步深入学习和应用MyBatis打下坚实基础。同时,这也是一个很好的实践项目,可以帮助开发者理解数据库操作与Java代码之间的交互,提升...

    mybatis逻辑分页,含分页导航

    在提供的`pagination-demo`压缩包中,可能包含了一个完整的MyBatis分页示例,包括了XML映射文件、Java代码以及如何在前端展示分页导航的示例。通过研究这个示例,可以更直观地理解和掌握MyBatis的分页技巧。

    mybatis demo

    MyBatis 是一款深受开发者喜爱的持久层框架...通过这个"Mybatis demo",学习者可以全面地理解MyBatis的架构、配置、SQL映射、对象关系映射,以及事务和缓存等核心特性,为实际开发中高效地使用MyBatis打下坚实的基础。

    springboot集成mybatis的demo

    在本项目"springboot集成mybatis的demo"中,我们将探讨如何将流行的Java框架Spring Boot与数据持久化库...这个项目"spring-boot-samples-master"可以作为学习和实践的模板,帮助你快速上手Spring Boot和MyBatis的整合。

    spring + springmvc + mybatis 整合 及 mybatis-pagehelper分页

    在IT行业中,Spring、SpringMVC和MyBatis是三个非常重要的开源框架,它们在企业级Web应用开发中被广泛使用。Spring作为一个全面的后端应用程序框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,极大地简化了...

    mybatis-plus-demo

    通过继承 `BaseMapper` 接口,我们可以轻松实现对数据库表的基本操作,如插入、查询、修改和删除记录。 其次,MyBatis-Plus 内置了丰富的条件构造器,使得动态 SQL 编写变得简单。例如,我们可以使用 `...

    mybatis-plus分页查询

    MyBatis-Plus 是 MyBatis 的一个扩展,它提供了许多增强功能,使得...在提供的 `mybatis-plus-demo-main` 压缩包中,应该包含了这些文件的示例代码,你可以参考这些代码来学习和理解 MyBatis-Plus 分页查询的具体实现。

    springboot_mybatis_demo2

    spring boot 集成mybatis,使用pagehelper分页,demo 对应博客地址:http://blog.csdn.net/woniu211111/article/details/54562307

    MYBATIS学习资料文件

    "MYBATIS学习资料文件"这一标题明确指出,这是一份与MyBatis相关的学习资源集合,可能包含教程、示例代码、笔记等,旨在帮助用户理解和掌握MyBatis这一流行的数据持久层框架。 【描述解读】 描述中提到“mybatis所...

    mybatis分页例子(spring MVC mybatis 分页)

    mybatis 3.1.1, spring-3.1.3 与 mybatis-spring -1.1.1 集成的 分页程序,以及spring MVC 例子. 没分了,收取一分,如果有和我一样穷的兄弟,你可以到我的博客上去下载,不需要积分:...

    demo.zip_Mybatis注解时的sql语句拼接方法_SSM 注解_SSM分页查询_mybatis注解分页_基于ssm

    在SSM(Spring、SpringMVC、MyBatis)框架中,全注解开发模式能够大大提高开发效率,但在处理复杂的SQL查询,特别是涉及到分页查询时,MyBatis的注解方式可能会显得力不从心。`demo.zip`中的内容可能是解决这个问题...

    MyBatisDemo2.zip

    这个"MyBatisDemo2.zip"压缩文件看起来是用于演示或学习MyBatis框架的一个示例项目。在没有提供具体的jar包的情况下,可能需要开发者自行配置所需的依赖库,例如MyBatis的核心库、Spring框架(如果整合使用)以及...

    springboot+mybatis+easyui增删改查分页Demo

    "springboot+mybatis+easyui增删改查分页Demo"是一个基于Spring Boot、MyBatis和EasyUI实现的Web应用程序示例,主要用于演示如何在这些技术栈中进行基本的数据操作,如添加(Add)、删除(Delete)、修改(Update)...

Global site tag (gtag.js) - Google Analytics