NHibernate分页的测试
今天做项目的时候,要实现分页查询的功能,一开始的想法就是用SQL语句实现(项目数据操作是用Nhibernate),但认真考虑了下发现在所做的项目里实现会很麻烦,果断放弃了用SQL语句。因为刚接触NHibernate时间不长,对Nhibernate认识不深,但在做项目的这段时间里接触它,发现Nhibernate真的很好用(以前怎么就没有去了解它呢)。
在Nhibernate里实现分页很简单,用 SetFirstResult 和SetMaxResults就可以实现,SetFirstResult 简单的理解就是从第几条记录开始,SetMaxResults是取几条记录。以下是一个测试的代码,从Customer表里取记录,主要的就是GetCustomerListTest方法:
{
private ISession _session;
private SessionManager _helper;
private NHibernateSample _sample;
protected void Page_Load(object sender, EventArgs e)
{
_helper = new SessionManager();
_session = _helper.GetSession();
_sample = new NHibernateSample(_session);
}
protected void btnClick_Click(object sender, EventArgs e)
{
IList<Customer> customerList = GetCustomerListTest(5, 10, "select *from Customer");
int i=0;
string[] nameArrary = new string[customerList.Count];
foreach (Customer customer in customerList)
{
nameArrary[i] = customer.FirstName + customer.LastName;
i++;
}
foreach (var name in nameArrary)
{
Response.Write(name + "<br />");
}
}
/// <summary>
/// 分页测试
/// </summary>
/// <param name="pageStart">开始查找的记录条</param>
/// <param name="pageLimit">显示数量</param>
/// <param name="sql"></param>
/// <returns></returns>
public IList<Customer> GetCustomerListTest(int pageStart, int pageLimit, string sql)
{
IList<Customer> customerList = _session.CreateSQLQuery(sql)
.SetFirstResult(pageStart)
.SetMaxResults(pageLimit)
.SetResultTransformer(Transformers.AliasToBean<Customer>()).List<Customer>();
return customerList;
}
转载于:https://www.cnblogs.com/chenyt/archive/2010/12/04/Nhibernate.html
NHibernate分页的测试相关推荐
- Nhibernate分页测试续(附源码)
接着上一篇Nhibernate分页测试,最近一直在接触Nhibernate,接触的越多.了解越深,越是感觉他的强大,很多功能都封装的很好,对数据操作是那么的简单.接下来介绍的是MVC+Nhiberna ...
- 通用存储过程分页---(测试能用的请放心试用)
参数:分页大小,第几页,需要得到的字段 ,需要查询的表 , 查询条件,排序的字段名,排序的类型,主键名称 分页大小:整数 第几页:整数 需要得到的字段:字符串 需要查询的表:字符串 查询条件:字符串 ...
- JAVA List集合转Page(分页对象) java 分页 PageModel 测试类TestPagerModel
http://www.blogjava.net/jzone/archive/2015/06/05/308842.html?opt=admin /** * @version 1.0 * @autho ...
- mysql 分页查询分析_mysql 大表分页查询测试分析优化
http://blog.csdn.net/xluren/article/details/32746183 http://www.cnblogs.com/kupig/archive/2011/10/19 ...
- SSh结合Easyui实现Datagrid的分页显示
近日学习Easyui,发现非常好用,界面很美观.将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加.修改.删除.批量删除等功能将在后面的博客一一写来. ...
- Asp.Net 数据分页
.Net 所使用的 ADO.Net较前身ADO在性能上有较大的提升,但是操作起来也较为繁琐,在 Asp 时代,对数据进行分页使用 RecordSet 的 PageSize 和 AbsolutePage ...
- EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)
前沿 园子里已有挺多博文介绍了EFCore+Mysql/MSSql如何进行使用,但实际开发不会把EF层放在Web层混合起来,需要多个项目配合结构清晰的进行分层工作,本文根据个人实践经验总结将各个项目进 ...
- MyBatis-Plus_分页查询
查询专栏:myabtis 实现的分页为什么还要分页插件? 文章目录 1. 创建分页插件 2. 测试分页 3. 自定义分页 4. 测试自定义分页方法 5. 控制台输出 6. 多表操作 1. 创建分页插件 ...
- Java标签分页实现
Java实现标签分页(转自http://ybyonline.iteye.com/blog/1745049) 最近为了开发一个网站,里面要用分页功能,但是之前很少自己写分页标签,又不想用现成框架.所以自 ...
最新文章
- ASP.NET 2.0关于用户登录限制问题实例:防止同一用户同时登陆
- hadoop multipleoutputs
- CentOS 7镜像下载和安装教程
- windows 下 logstash 安装启动
- 解决Jenkins邮件配置问题
- R语言基础入门(3)之数据类型与相应运算1
- 这些数据分析方法你都掌握了么
- Xcode9模拟器隐藏边框
- 为什么技术人干得越久越拿不到高薪?
- Git最好的CRLF(回车,换行)处理策略是什么?
- Vertica系列:数仓优化
- 在OpenStack虚拟机实例中创建swap分区的一种方法
- tomcat启动时报错ports are invalid,默认端口不要为-1
- 记 * 恢复ext4硬盘的数据
- 微信打电话和直接打电话有什么区别吗?为什么?
- 企业综合能效管理系统,工业能耗解决方案
- smali语法基础详解
- tomcat闪退没有报错_越狱后直接换sileo商店附Sileo的部分报错解决办法
- HTML期末作业:基于html+css+javascript+jquery实现古诗词网页 学生网页设计作品 web前端开发技术 web课程设计 网页规划与设计...
- 阿里、腾讯、字节、京东、美团、百度......薪资职级大比拼
热门文章
- 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大
- WebBrowser 操作(从网上收集)
- delphi 中CreateOleObject函数产生的对象的释放问题
- 使用go语言GUI库实现对mp3文件的播放1(简单的播放mp3文件)
- 数组中删数(只删一个)
- 安装已停止,原因是 ProjectType 值的目录不存在。对于您所安装的 Visual St...
- 独立式环境与宿主式环境————《标准C语言指南》读书笔记01
- Tensorflow2.0与Tensorflow1.0的理解
- 汇编语言加法和减法详解
- JZOJ 5386. 【NOIP2017提高A组模拟9.23】碎