1. 程式人生 > >Hbase Phoenix 分頁

Hbase Phoenix 分頁

全部為mybatis.xml 內容

1.建立表

	<insert id="createTable">
		create table if not exists "FVE_VoucherStorage"
		(
		"fid" varchar not null primary key,
		"cf"."fvoucherCode" varchar,
		"cf"."fdate" varchar,
		"cf"."frgnId" varchar,
		"cf"."fyear" varchar,
		"cf"."fvoucherTypeId" varchar,
		"cf"."fisValid" varchar,
		"cf"."fvoucherVersion" varchar,
		"cf"."fcreateTime" varchar,
		"cf"."foriginContent" varchar,
		"cf"."fcontent" varchar,
		"cf"."fflagId" varchar,
		"cf"."foriginCode" varchar,
		"cf"."fagenName" varchar,
		"cf"."frowId" bigint
		)
	</insert>
*注意frowId欄位,用於儲存自增序列

2.建立實體類

    這個沒有什麼說的,普通的實體類而已

3.建立sequence(自增序列)

	<insert id="sequence">CREATE SEQUENCE SEQ</insert>
4.插入資料
<insert id="insertVoucher" parameterType="com.domain.VoucherStorage">
		upsert into
		"FVE_VoucherStorage"("fid","fvoucherCode","fdate","frgnId","fyear","fvoucherTypeId","fisValid","fvoucherVersion","fcreateTime",
		"foriginContent","fcontent","fflagId","foriginCode","frowId")values(
		#{fid},#{fvoucherCode},#{fdate},#{frgnId},#{fyear},#{fvoucherTypeId},#{fisValid},#{fvoucherVersion},#{fcreateTime},
		#{foriginContent},#{fcontent},#{fflagId},#{foriginCode},NEXT VALUE FOR
		SEQ)
	</insert>
*注意NEXT VALUE FOR SEQ 這句話,將自增序列新增給frowId
5查詢語句
<select id="selectByCondition" parameterType="map"
		resultType="com.domain.VoucherStorage">
		select * from
		"FVE_VoucherStorage"
		where 1=1 
		<if test="fisValid!=null and fisValid!=''">
		<![CDATA[
		and "fisValid" = #{fisValid}
			]]>
		</if>
		<if test="fvoucherTypeId!=null and fvoucherTypeId!=''">
		<![CDATA[
        and  "fvoucherTypeId" =#{fvoucherTypeId} 
		]]>
		</if>
		<if test="beginDate!=null and beginDate!=''">
		<![CDATA[
		 and "fdate" >= #{beginDate}
		]]>
		</if>
		<if test="endDate!=null and endDate!=''">
		<![CDATA[
		 and "fdate" <= #{endDate}
		]]>
		</if>
		<if test="frowId!=null and frowId!=''">
		<![CDATA[
		 and "frowId">=#{frowId}
		]]>
		</if>
		ORDER BY
		"frowId" ASC LIMIT #{pageSize}
		
	</select>

查詢時,將pageSize設定為頁數+1,多餘出的一條記錄中的frowId作為下一頁查詢的條件實現分頁查詢。