目录结构

先设计数据表结构

  1. DROP SEQUENCE BDLLY_2V.SEQ_CUSTOMER;
  2.  
  3. CREATE SEQUENCE BDLLY_2V.SEQ_CUSTOMER
  4. START WITH 6
  5. MAXVALUE 999999999999999999999999999
  6. MINVALUE 0
  7. NOCYCLE
  8. NOCACHE
  9. NOORDER;
  10.  
  11. DROP TABLE BDLLY_2V.CUSTOMER CASCADE CONSTRAINTS;
  12.  
  13. CREATE TABLE Customer
  14. (
  15. CustomerId INTEGER,
  16. CompanyName VARCHAR2(50),
  17. ContactName VARCHAR2(50),
  18. ContactTitle VARCHAR2(50),
  19. Address VARCHAR2(50),
  20. City VARCHAR2(30),
  21. Region VARCHAR2(20),
  22. PostalCode VARCHAR2(10),
  23. Country VARCHAR2(50),
  24. Phone VARCHAR2(15)
  25. );
  26.  
  27. Insert into BDLLY_2V.CUSTOMER
  28. (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
  29. CITY, REGION, POSTALCODE, COUNTRY, PHONE)
  30. Values
  31. (1, ' Apple Inc.', 'Steve P.(aul) Jobs', 'iPhone Change the world', 'America in San Francisco, California',
  32. 'San Francisco', 'Buddhism', '', 'America', '');
  33. Insert into BDLLY_2V.CUSTOMER
  34. (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
  35. CITY, REGION, POSTALCODE, COUNTRY, PHONE)
  36. Values
  37. (2, 'Microsoft Inc.', 'Bill Gates', 'Personal Computer', 'Redmond, Washington America',
  38. 'Washington', 'Christianism', '', 'America', '');
  39. Insert into BDLLY_2V.CUSTOMER
  40. (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
  41. CITY, REGION, POSTALCODE, COUNTRY, PHONE)
  42. Values
  43. (3, 'Google', 'Lawrence Edward Page', 'Google Earth', 'Mountain view, Santa Clara County, California USA',
  44. 'County of Santa Clara', 'none', '', 'America', '');
  45. Insert into BDLLY_2V.CUSTOMER
  46. (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
  47. CITY, REGION, POSTALCODE, COUNTRY, PHONE)
  48. Values
  49. (4, 'Twitter', 'Evan Williams', 'what happening', 'America in San Francisco, California',
  50. 'San Francisco', 'none', '', 'America', '');
  51. Insert into BDLLY_2V.CUSTOMER
  52. (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
  53. CITY, REGION, POSTALCODE, COUNTRY, PHONE)
  54. Values
  55. (5, 'Facebook', 'Mark Elliot Zuckerberg', ' Done is better than perfect.', 'Palo Alto, California, USA',
  56. 'alo Alto', 'none', '', 'America', '');

前端jquery

引用

  1. <script src="../../Scripts/jquery-1.8.2.min.js"></script>
  2. <script src="../../Scripts/jquery-pager.js" type="text/javascript"></script>
  3. <link href="../../Scripts/pager.css" rel="stylesheet" type="text/css" />
  4.  
  5. <script lang="ja" type="text/javascript">
  6. //PageIndex当前页码
  7. //PageCount当前页数
  8. function init(PageIndex, PageCount) {
  9. var receive_url = "/Customer/GetMerchant?PageIndex=" + PageIndex + "&PageCount=" + PageCount;
  10. $.ajax({
  11. type: "GET",
  12. url: receive_url,
  13. cache: "false",
  14. success: function (data) {
  15. data = eval(data);
  16. //循环表格
  17. $("tbody").html("");
  18. var html = "";
  19. for (var i = 0; i < data.length; i++) {
  20. var json = null;
  21. json = data[i];
  22. var customId = json.CustomerId;
  23. var companyName = json.CompanyName;
  24. var contactName = json.ContactName;
  25. var contactTitle = json.ContactTitle;
  26. var address = json.Address;
  27. var city = json.City;
  28. var region = json.Region;
  29. var postalCode = json.PostalCode;
  30. var country = json.Country;
  31. var phone = json.Phone;
  32. html += "<tr><td>" + customId + "</td><td>" + companyName + "</td><td>" + contactName + "</td><td>" + contactTitle + "</td><td>" + address + "</td><td>" + city + "</td><td>" + region + "</td><td>" + postalCode + "</td><td>" + country + "</td><td>" + phone + "</td></tr>";
  33. }
  34. $("tbody").append(html);
  35. },
  36. error: function (XMLHttpRequest, textStatus, errorThrown) {
  37. alert("程序异常!");
  38. }
  39. });
  40. };
  41.  
  42. $(document).ready(function () {
  43. //得到页面数据总数
  44. var result = null;
  45. $.ajax({
  46. type: "POST",
  47. url: "/Customer/GetPageCount",
  48. cache: "false",
  49. async: false,
  50. success: function (data) {
  51. result = eval(data);
  52. },
  53. error: function (XMLHttpRequest, textStatus, errorThrown) {
  54. alert("程序异常!");
  55. }
  56. });
  57. initPager(result, 1);
  58. });
  59.  
  60. //RecordCount[总记录数] PageIndex[当前页码]
  61. function initPager(RecordCount, PageIndex) {
  62. $("#page-bottom").setPager({
  63. RecordCount: RecordCount,
  64. PageIndex: PageIndex,
  65. buttonClick: function (RecordCount, PageIndex) {
  66. initPager(RecordCount, PageIndex);
  67. }
  68. });
  69. //分页同时更新数据源
  70. init(PageIndex, 20);
  71. };
  72.  
  73. </script>

hibernate.cfg.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. This template was written to work with NHibernate.Test.
  4. Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
  5. for your own use before compile tests in VisualStudio.
  6. -->
  7. <!-- This is the System.Data.OracleClient.dll provider for Oracle from MS -->
  8. <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
  9. <session-factory name="NHibernateUI">
  10. <property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
  11. <property name="connection.connection_string">
  12. User ID=bdlly_2v;Password=gmgl;Data Source=glxt
  13. </property>
  14. <property name="show_sql">false</property>
  15. <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
  16. <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
  17. <!--添加下面这行代码,除此之外,其它都不用改动,当然,你也可以修改上面的数据库链接字符串-->
  18. <mapping assembly="NHibernate.Domain"/>
  19. </session-factory>
  20. </hibernate-configuration>

Entity:

namespace NHibernate.Domain
{

  1. public class Customer
  2. {
  3. public virtual int CustomerId { get; set; }
  4. public virtual string CompanyName { get; set; }
  5. public virtual string ContactName { get; set; }
  6. public virtual string ContactTitle { get; set; }
  7. public virtual string Address { get; set; }
  8. public virtual string City { get; set; }
  9. public virtual string Region { get; set; }
  10. public virtual string PostalCode { get; set; }
  11. public virtual string Country { get; set; }
  12. public virtual string Phone { get; set; }
  13. }

Mapping:

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Domain" namespace="NHibernate.Domain">
  3. <class name="NHibernate.Domain.Customer,NHibernate.Domain" table="Customer">
  4. <id name="CustomerId" column="CustomerId" type="int" unsaved-value="0">
  5. <generator class= "sequence">
  6. <param name= "sequence">SEQ_CUSTOMER</param>
  7. </generator>
  8. </id>
  9. <property name="CompanyName" column="CompanyName" type="string" />
  10. <property name="ContactName" column="ContactName" type="string" />
  11. <property name="ContactTitle" column="ContactTitle" type="string" />
  12. <property name="Address" column="Address" type="string" />
  13. <property name="City" column="City" type="string" />
  14. <property name="Region" column="Region" type="string" />
  15. <property name="PostalCode" column="PostalCode" type="string" />
  16. <property name="Country" column="Country" type="string" />
  17. <property name="Phone" column="Phone" type="string" />
  18.  
  19. </class>
  20. </hibernate-mapping>

NHibernate.DataPortal:

  1. namespace NHibernate.DataPortal
  2. {
  3. public class CustomerOperator
  4. {
  5. private NHibernateHelper nhibernateHelper = new NHibernateHelper();
  6.  
  7. protected ISession Session { get; set; }
  8.  
  9. /// <summary>
  10. /// 打开Session
  11. /// </summary>
  12. public CustomerOperator()
  13. {
  14. this.Session = nhibernateHelper.GetSession();
  15. }
  16. /// <summary>
  17. /// 构造session
  18. /// </summary>
  19. /// <param name="session"></param>
  20. public CustomerOperator(ISession session)
  21. {
  22. this.Session = session;
  23. }
  24.  
  25. /// <summary>
  26. /// 查询客户并返回所有的信息
  27. /// </summary>
  28. /// <returns></returns>
  29. public IList<Customer> GetCunstomers(int pageIndex, int pageCount)
  30. {
  31. IList<Customer> list = (IList<Customer>)Session.CreateQuery("FROM Customer")
  32. .SetFirstResult(pageCount * (pageIndex - ) + )
  33. .SetMaxResults(pageCount)
  34. .List<Customer>();
  35. return list;
  36. }
  37. /// <summary>
  38. /// 查询记录数
  39. /// </summary>
  40. /// <returns></returns>
  41. public Single GetCount()
  42. {
  43. IQuery q = Session.CreateQuery(@"SELECT t FROM Customer t");
  44. return Convert.ToSingle(q.List().Count);
  45. }
  46.  
  47. }
  48. }

Controllers:

  1. namespace NHibernateUI.Controllers
  2. {
  3. public class CustomerController : Controller
  4. {
  5. //
  6. // GET: /Customer/
  7.  
  8. public ActionResult Merchant()
  9. {
  10. return View();
  11. }
  12. /// <summary>
  13. /// 初始化数据
  14. /// </summary>
  15. /// <returns></returns>
  16. public ActionResult GetMerchant()
  17. {
  18. //请求当前页码和当前页数
  19. int pageIndex = Convert.ToInt32(Request.Params.Get("PageIndex"));
  20. int pageCount = Convert.ToInt32(Request.Params.Get("PageCount"));
  21.  
  22. CustomerOperator oper = new CustomerOperator();
  23. IList<Customer> list = oper.GetCunstomers(pageIndex,pageCount);
  24.  
  25. return Json(list, JsonRequestBehavior.AllowGet);
  26. }
  27.  
  28. public ActionResult GetPageCount()
  29. {
  30. CustomerOperator oper=new CustomerOperator();
  31. Single s = oper.GetCount();
  32. return Json(s, JsonRequestBehavior.AllowGet);
  33. }
  34.  
  35. }
  36. }

jquery+NHibernate3.3.3+MVC的分页效果的更多相关文章

  1. 分享5种风格的 jQuery 分页效果【附代码】

    jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个 ...

  2. 5种风格的 jQuery 分页效果【附代码】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  3. 基于jquery 的分页插件,前端实现假分页效果

    上次分享了一款jquery插件,现在依旧分享这个插件,不过上一次分享主要是用于regular框件,且每一页数据都是从后端获取过来的,这一次的分享主要是讲一次性获取完数据 然后手动进行分页.此需求基本上 ...

  4. jquery自定义插件实现分页效果

    这节介绍如何自定义jquery插件,实现分页效果,话不多说,先看看实现的效果: 分页插件 实现的代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM ...

  5. 使用Jquery做分页效果

    之前写过一个PHP 的分页效果,但是今天小伙伴和我说了一个不适用后台单纯用前段的JS来写分页,整理了一下,代码如下: html: <div id="containet"> ...

  6. MVC快速分页

    .NET手记-ASP.NET MVC快速分页的实现   对于Web应用,展示List是很常见的需求,随之而来的常见的分页组件.jQuery有现成的分页组件,网上也有着大量的第三方分页组件,都能够快速实 ...

  7. MVC自定义分页

    MVC自定义分页 之前我发表了一篇MVC无刷新分页的文章,里面用的是MvcPager控件,但是那个受那个控件限制,传值只能用PagedList,各方面都受到了限制,自由度不够高,现在还是做MVC无刷新 ...

  8. 基于存储过程的MVC开源分页控件--LYB.NET.SPPager

    摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算 ...

  9. JQuery对ASP.NET MVC数据进行更新删除

    以前学习ASP.NET MVC时,学习与应用,操作过数据显示,添加,编辑,更新和删除等功能. 很多方法是相通的,看自己是怎样来进行方便,快捷,高效率. 今天Insus.NET写的练习,是直接对绑定在T ...

随机推荐

  1. O-C相关-09-id 类型与应用

    09-id 类型与应用 1, 使用 NSObject 访问子类对象方法 代码在编辑的时候, Xcode 会实时检查语法情况. 如果调用某个对象的方法, 在声明中没有该方法的声明, 那么就会报错. 但是 ...

  2. 两款web api 调试工具

    两款web api 调试工具: Fiddler (http://www.telerik.com/fiddler) Postman(http://www.getpostman.com/) 资源: Fid ...

  3. UVA 12097 LA 3635 Pie(二分法)

    Pie My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a numbe ...

  4. caffe源码阅读(3)-Datalayer

    DataLayer是把数据从文件导入到网络的层,从网络定义prototxt文件可以看一下数据层定义 layer { name: "data" type: "Data&qu ...

  5. 用Session实现验证码

    新建一个 ashx 一般处理程序 如: YZM.ashx继承接口 IRequiresSessionState //在一般处理程序里面继承 HttpContext context 为请求上下文,包含此次 ...

  6. Jquery div边框大全

    网址 http://jquery.malsup.com/corner/ jQuery Corner是一款jQuery的插件,最初由Dave Methvin开发,但后在Malsup同志的协助下,进行了一 ...

  7. js在php 中出现 unterminated string literal 解决方法

    出现这个问题就是空格造成的(可清空格符,换行符等) 示例代码如下: php 下报错 <?php echo "<a href=javascript:if(window.confir ...

  8. cli下的php(并传递参数)

    传递参数有两种方式: 第一种使用文件操作,STDOUT作为标准输出,STDIN作为标准输入 使用fwrite($file,$string)作输出,使用fgets($file)作输入.这种应该算是继承自 ...

  9. windows下Apache配置SSL安全连接

    什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...

  10. STM32启动过程--启动文件--分析

    一.概述 1.说明 每一款芯片的启动文件都值得去研究,因为它可是你的程序跑的最初一段路,不可以不知道.通过了解启动文件,我们可以体会到处理器的架构.指令集.中断向量安排等内容,是非常值得玩味的. ST ...