这个小项目第一个版本是2007年初,在四五个中小项目中使用过吧,最近辞职在家,没事就对它进行了重构玩玩。现在重构初步完成,帖上来让大家指导一下。
以下贴段分页查询的代码,展示下它的基本风格:
/**
* 以下的四个分页查询参数一样,结果也是一样的,只是编码风格不一样
* */
public Pagination<BookInfo> page1(Pagination<BookInfo> page, String bookName, int stock) {
Selecter<BookInfo> s=this.createSelecter();
s.like("bookName", "%"+bookName+"%").and().large("stock", stock);
//s.orderBy("stock");
//s.exclude("description");
s.page(page);
return page;
}
public Pagination<BookInfo> page2(Pagination<BookInfo> page, String bookName, int stock) {
this.pageByWhere(page, "$bookName like ? and $stock>?", "%"+bookName+"%",stock);
return page;
}
public Pagination<BookInfo> page3(Pagination<BookInfo> page, String bookName, int stock) {
//$开头表示成员变量名 ?开始为参数占位名
Executer e=this.createQueryExecuter("$bookName like ?bname and $stock>?stock");
e.set("bname", "%"+bookName+"%");
e.set(1, 0);
e.pageBeans(BookInfo.class, page);
return page;
}
public Pagination<BookInfo> page4(Pagination<BookInfo> page, String bookName, int stock) {
String sql="select * from book_info where book_Name like ?bname and stock>?stock";
Executer e=this.getVisiter().createExecutor(sql);
e.set("bname", "%"+bookName+"%");
e.set("stock",0);
e.pageBeans(BookInfo.class, page);
return page;
}
/**将查询结果封装到一个数组中*/
public Pagination<Object[]> pageArray(Pagination<Object[]> page,
String bookName, int stock) {
Executer e=this.createQueryExecuter("$bookName like ?bname and $stock>?stock");
e.set("bname", "%"+bookName+"%");
e.set(1, 0);
e.pageArray(page);
return page;
}
/**将查询结果封装到一个以列名为键,数据为值的Map集合*/
public Pagination<Map<String, Object>> pageMap(
Pagination<Map<String, Object>> page, String bookName, int stock) {
Executer e=this.createQueryExecuter("$bookName like ?bname and $stock>?stock");
e.set("bname", "%"+bookName+"%");
e.set(1, 0);
e.pageMap(page);
return page;
}
贴下BaseDao接口
public interface IBaseDao <T extends Object> {
T add(T bean);
void update(T bean);
void delById(Object id);
int delByField(String field,Object value);
T getById(Object id);
T getFirstByField(String field,Object value);
T getUniqueByField(String field,Object value);
List<T> listAll();
List<T> list(Integer curPage,Integer perPage);
List<T> list(Long beginRow,Long endRow);
List<T> listByField(String field,Object value);
Pagination<T> page(Pagination<T> page);
Pagination<T> pageByField(Pagination<T> page,String field,Object value);
}
再贴上下文(此项目无任何xml配置文件,全是anntation)
@VisitConfig(
dataSource={@Source(driverClazz=com.mysql.jdbc.Driver.class,
url="jdbc:mysql://127.0.0.1:3300/books",
userName="root",
password="root",
dbType=DBType.MYSQL
)
}
)
public class TestVisitContext extends VisitContext{
private TestVisitContext(){
this.init();
}
private static VisitContext testContext;
public static VisitContext getContext(){
if(testContext==null)testContext=new TestVisitContext();
return testContext;
}
}
自以为它的适用比较适用于大并发的互联网项目,对性能要求比较高的项目
再贴一个示例
分享到:
相关推荐
【hibernate登录小例子】是一个面向初学者的教程,主要展示了如何利用Hibernate框架实现一个简单的用户登录功能。在这个例子中,我们将深入探讨Hibernate的基本概念、配置、实体类的创建、映射文件的编写以及Session...
总之,通过这个在Myeclipse中搭建的Hibernate小程序,你可以了解和实践如何在Java Web项目中集成Hibernate,从而提高数据库操作的便捷性和效率。在实践中不断学习和探索,你将能够熟练运用Hibernate来解决复杂的...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。在开发过程中,为了调试和优化SQL查询,有时我们需要查看Hibernate生成的完整SQL语句,包括其参数...
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> ...
通过这个小程序,你可以更好地理解Hibernate的工作原理,并将其应用于实际项目。 总之,Hibernate简化了Java开发中的数据库操作,使得开发者能更专注于业务逻辑。通过学习和实践这个“hibernate小程序”,新手可以...
**hibernate入门小程序** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了方便...通过学习和实践这个入门小程序,你将掌握Hibernate的基本操作,为进一步深入学习和使用Hibernate打下坚实基础。
总的来说,Hibernate电子书小压缩包为我们提供了一个深入理解Hibernate的窗口,涵盖了从基本概念到高级特性的全面内容。无论是初学者还是经验丰富的开发者,都能从中获益,提升自己的Java持久化技术。通过学习和实践...
通过这个小项目,你可以学习到如何在实际开发中整合Struts2和Hibernate,提升Web应用程序的开发效率。同时,这也是一个很好的实践机会,加深对MVC模式和ORM思想的理解。在学习过程中,你可能会遇到各种问题,如数据...
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数 据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程 序员可以...
MyEclipse 是一个功能强大的集成开发环境,支持多种编程语言和框架,而 Hibernate 则是一种流行的 ORM(Object-Relational Mapping)框架,用于简化数据库交互。本文将指导您如何在 MyEclipse 中使用 Hibernate,並...
这是一个在Myeclipse中的Hibernate入门小Demo
在Java开发领域,Hibernate是一个非常流行的开源对象关系映射(ORM)框架,它极大地简化了数据库操作。在NetBeans这样的集成开发环境(IDE)中安装Hibernate可以帮助开发者更高效地进行数据库驱动的应用程序开发。...
Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发者可以更加专注于业务...通过深入研究这个小程序,初学者可以快速掌握Hibernate的核心功能,并为后续的Java开发打下坚实的基础。
Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 Hibernate 是一个开源的...
例如,当用户提交留言时,我们可以创建一个新的`Message`对象,设置其属性,然后使用Hibernate的`Session`对象保存这个对象到数据库。同样,当需要显示留言列表时,我们可以查询数据库,获取所有`Message`对象,并将...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...
Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库,极大地简化了数据访问层的编程工作。这个压缩包包含了Hibernate的基础jar包,这些jar文件是开发Hibernate应用所...
Hibernate分页查询小结
在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本资源包含了学习和使用Hibernate所必需的13个jar包,这些包主要分为三个部分...
Hibernate3 是一个非常重要的Java持久化框架,它简化了数据库操作,使得开发人员可以更加专注于业务逻辑而不是数据库的细节。这个`hibernate3.zip`压缩包包含了`hibernate3.jar`,它是Hibernate 3版本的核心库,包含...