首页 > 代码库 > springmvc+mybatis 做分页sql 语句

springmvc+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="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 语句