如何在springmvc与mybatis中使用sql 语句实现分页?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
具体代码如下所示:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="ssmy.dao.UserDao"> <resultMap type="ssmy.dto.User" id="User"> <!--<resultMap type="User" id="User"> 如果在sprin文件里配置初始化 mybatis里配置了别名就是有--> <!-- 用id属性来映射主键字段 --> <id property="id" column="id" jdbcType="INTEGER"/> <!-- 用result属性来映射非主键字段 --> <result property="userName" column="userName" jdbcType="VARCHAR"/> <result property="password" column="password" jdbcType="VARCHAR"/> <result property="trueName" column="trueName" jdbcType="VARCHAR"/> <result property="email" column="email" jdbcType="VARCHAR"/> <result property="phone" column="phone" jdbcType="VARCHAR"/> <result property="roleName" column="roleName" jdbcType="VARCHAR"/> </resultMap> <!--分页返回类型list 可以使用map User对应的是resultMap size每页的大小--> <select id="find" resultMap="User" parameterType="Map"> select t2.* from ( select t1.*,rownum rn from t_user t1 <where> <if test ="userName !=null and userName !='' "> t1.userName like '%'||#{userName,jdbcType=VARCHAR}||'%' </if> </where> ) t2 <where> <if test ="start !=null and start !=''"> <![CDATA[and t2.rn >=#{start}]]> </if> <if test ="size !=null and size !=''"> and <![CDATA[t2.rn <=#{size}]]> </if> </where> </select> <!--获取总记录数 --> <select id="getTotal" parameterType="Map" resultType="java.lang.Integer"> select count(1) from t_user <where> <if test ="userName !=null and userName !='' "> userName like '%'||#{userName,jdbcType=VARCHAR}||'%' </if> </where> </select> <!--<insert id="createser" parameterType="User"> insert into NEWS_USER (id,username,password,email,usertype) values (#{id,jdbcType=NUMERIC},#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},#{email,jdbcType=VARCHAR},1) <selectKey resultType="int" order="BEFORE" keyProperty="id"> select seq_id.nextval from dual </selectKey> </insert>--></mapper>
看完上述内容,你们掌握如何在springmvc与mybatis中使用sql 语句实现分页的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!