ibatis怎么写mysql分页

ibatis怎么写mysql分页,第1张

ibatis框架只是拼接sql而已 所以...你平时怎么用数据库分页的  在这里拼接就可以了

不管你怎么拼 拼成这样就ok了

select * from

(select rownum as rn,source.* from

(select * from Account where (usertype='base' or usertype='home' or usertype='salse') and logindate is not null order by logindate desc) source

where rownum <#last#) result

where rn >= #first#

,先计算mysql数据库目录下的每个数据库大小,然后与容量限制进行比较,如果超过容量,则revoke该数据库的insert权限,让用户数据库不能再增长。

脚本如下:

###begin srcript --author pat.dong####

# 如果用户空间超过,此文件将会作为邮件的内容发送到用户信箱

sizeover="/etc/sizeover.log"

dblist="/tmp/dblist"

mysql_path=/usr/local/mysql/bin

# 将数据库名称输出

$mysql_path/mysql -uroot -e "show databases">$dblist

# 删除第一栏 "Database"

sed 1d $dblist >/tmp/tmp123456

cat /tmp/tmp123456 >$dblist

# 数据库的数据路径

DB_PATH="/www/mysql"

# 用户所能使用的最大空间 单位 kb

LIMIT_SIZE=2048

#mysql_quota文件记录每个数据库的配额,内容如下:

####mysql_quota file begin######

cn-ce 10000

cnmr 2048

fulin 2048

ishunde 2048

jljust 15000

####end mysql_quota#####

# mysql 这个数据库不必改

cat $dblist | while read bdo

if [ $b != "mysql" ] &&[ -d $DB_PATH/$b ]

then

SIZE=`du $DB_PATH/$b -sk|awk {'print $1'}`

LIMIT_SIZE=`cat quota |grep $b|awk {'print $2'}`

echo "User Size is "$SIZE",Limt Size is "$LIMIT_SIZE

if [ $SIZE -gt $LIMIT_SIZE ]

then

# mysql -uroot -prootpwd -n -e "revoke insert on $b.* from $b@hostname"

# sendmail [email protected] <$sizeover

echo $b" is over quota"

else

# mysql -uroot -prootpwd -n -e "grant insert on $b.* to $b@hostname"

echo $b" is no over quota"

fi

# mysql -uroot -prootpwd -n -e "flush privileges"

fi

done

####end script#####

Mysql分页采用limt关键字 select * from t_order limit 5,10#返回第6-15行数据 select * from t_order limit 5#返回前5行 select * from t_order limit 0,5#返回前5行 Mssql 2000分页采用top关键字(20005以上版本也支持关键字rownum) Select top 10 * from t_order where id not in (select id from t_order where id>5 )//返回第6到15行数据 其中10表示取10记录 5表示从第5条记录开始取

Oracle分页

①采用rownum关键字(三层嵌套) SELECT * FROM( SELECT A.*,ROWNUM num FROM (SELECT * FROM t_order)A WHERE ROWNUM<=15) WHERE num>=5--返回第5-15行数据 ②采用row_number解析函数进行分页(效率更高) SELECT xx.* FROM( SELECT t.*,row_number() over(ORDER BY o_id)AS num FROM t_order t )xx WHERE num BETWEEN 5 AND 15 --返回第5-15行数据 解析函数能用格式 函数() over(pertion by 字段 order by 字段) Pertion 按照某个字段分区 Order 按照勒个字段排序 用分析函数 一万条后翻最后一页会很慢,使用ROWNUM 一万条之后每翻一页都会慢

希望对你有所帮助


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6842090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存