当前位置:  软件>java软件

orm工具包 jdao

    来源:    发布时间:2015-02-01

    本文导语:       jdao是一个轻量级的orm工具包,通过简单配置或者连接数据库提供表名它便可以自动生成与数据库表一一对应的dao类,生成的dao类提供了与SQL无关的增删改查的功能。在复杂的查询SQL中,我建议编程人员自己编写高效的SQL...

     jdao是一个轻量级的orm工具包,通过简单配置或者连接数据库提供表名它便可以自动生成与数据库表一一对应的dao类,生成的dao类提供了与SQL无关的增删改查的功能。在复杂的查询SQL中,我建议编程人员自己编写高效的SQL,再通过jdao查询后返回封装好的QureyDao类,很方便的获取数据。在jdao底层,目前有spring的jdbcTemplate实现与我自己封装的jdaoHandlerImpl实现。jdao有支持事务,支持批量插入数据等特性。同时jdao底层数据库操作提供接口,编程人员可以自己实现。
       如果你觉得hibernate,ibatis等orm框架过于笨重,不烦试下jdao,它可以在团队开发中规范团队持久层代码,较少开发量,特别在单表操作上基本是对象操作,对于复杂SQL查询也有较好的封装。

一、使用DAO方式操作数据:

查询SQL: select value,rowname from hstest where id between 2 and 10;
jdao对象操作如下:
Hstest t = new Hstest();
t.where(Hstest.ID.BETWEEN(2, 10));
t.query(Hstest.VALUE, Hstest.ROWNAME);

插入SQL:  insert into hstest (id,rowname,value) values(1,"donnie","wuxiaodong")
jdao对象操作如下:
Hstest t = new Hstest();
t.setId(1);
t.setRowname("donnie");
t.setValue("wuxiaodong");
t.save();

批量插入SQL:  insert into hstest (id,rowname,value) values(1,"donnie1","wuxiaodong1"),(2,"donnie2","wuxiaodong2"),(3,"donnie3","wuxiaodong3")
jdao对象操作如下:
Hstest t = new Hstest();
t.setId(1);
t.setRowname("donnie1");
t.setValue("wuxiaodong1");
t.addBatch();
t.setId(2);
t.setRowname("donnie2");
t.setValue("wuxiaodong2");
t.addBatch();
t.setId(3);
t.setRowname("donnie3");
t.setValue("wuxiaodong3");
t.addBatch();
t.batchForSave();

更新SQL:  update hstest set rowname="wuxiaodong",value="wuxiaodong" where id=10
jdao对象操作如下:
Hstest t = new Hstest();
t.setRowname("wuxiaodong");
t.setValue("wuxiaodong");
t.where(Hstest.ID.EQ(10));
t.update();

删除SQL:  delete from hstest where id=2
jdao对象操作如下:
Hstest t = new Hstest();
t.where(Hstest.ID.EQ(2));
t.delete();


二、使用QueryDao查询数据,建议用于复杂SQL查询,单表增删改查建议还是使用DAO对象操作。

QueryDao qd = new QueryDao(JdaoHandlerFactory.getDBHandler4c3p0(), "select id,rowname from hstest limit ?,?", 0, 10);
//获取数据方式一
while (qd.hasNext()) {
    QueryDao q = qd.next();
    //获取字段方式一
    System.out.println(q.fieldValue(1) + "   " + q.fieldValue(2));
    //获取字段方式二
    System.out.println(q.fieldValue("id") + "   " + q.fieldValue("rowname"));
}
//获取数据方式二
for(QueryDao q:qd.queryDaoList()){
    System.out.println(q.fieldValue(1) + "   " + q.fieldValue(2));
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ORM 框架 common-orm
  • C++的ORM框架 YB.ORM
  • 轻量级的ORM框架 u-orm
  • 轻量级的Java ORM框架 Just ORM
  • Jav ORM框架 Darks ORM
  • 轻量级的ORM库 Idiorm
  • 企业ORM平台 EclipseLink/TopLink
  • Xtuple/orm
  • ORM框架 Ujorm
  • MongoDB 的 ORM框架 MJORM
  • C++的ORM框架 ODB
  • PHP5的ORM框架 dORM
  • PHP的ORM映射框架 RedBeanPHP
  • PHP的ORM框架 PHP NORM
  • PHP的ORM框架 NotORM
  • JavaScript轻量级ORM mysql-warp
  • JS的ORM框架 persistence.js
  • SPARQL的ORM映射 Twinkql
  • Java的ORM框架 EJPA
  • Java的ORM框架 ComnonDAO


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3