`
jstudio
  • 浏览: 8484 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

发布一款精巧的Java ORM Framework

阅读更多
> 特点
  1.支持多数据源管理和配置
  2.自动封装Entity
  3.支持事务
  4.支持存储过程的方便调用
  5.支持lazy加载
  6.支持分页查询
  7.支持多种数据库H2,MySQL,Oracle,PostgrSQL,SQLServer

> 要求
  1.JDK 1.5 or later
  2.如需要lazy加载,需要引入cglib或javaassit,具体可配置

> 示例
  1.添加
  Session session = Jorm.getSession();
  User u = new User("Gerald.Chen", "男", 21, "job");;
  session.save(u);

  2.删除
  session.clean(User.class);// 清空表
  session.delete(User.class, "id > 100");// 指定条件删除

  session.delete(user);

  3.查询
  User user = session.read(User.class, 1);// 根据主键加载

  // 加载第一个
  User user = session.loadFirst(User.class, "(SELECT * FROM t_user WHERE id > ?)", 88);

  // 分页查询
  SqlParams<User> params = new SqlParams<User>("SELECT * FROM t_user WHERE id > ?", new Object[] { 6 });
  params.setObjectClass(User.class);
  params.setFirstResult(3);
  params.setMaxResults(10);
  List<User> users = session.list(params);

  // 查询单个属性
  String sql = "SELECT name FROM t_user WHERE id = 28";
  String name = session.queryUniqueObject(sql);

  // 查询属性列表
  List<String> names = session.list(String.class, "SELECT name FROM t_user WHERE id > ?", 200);
  List<Integer> ages = session.list(int.class, "SELECT age FROM t_user WHERE age > 18");

  4.存储过程
  final String pro = "{? = call hello_proc(?)}";
  String r = session.call(new ProcedureCaller() {
           
     public CallableStatement prepare() throws SQLException {
    CallableStatement cs = this.getSession().getConnection().prepareCall(pro);
    cs.setString(2, "World");
    cs.registerOutParameter(1, Types.CHAR);
    return cs;
     }
           
     public String callback(CallableStatement cs) throws SQLException {
    cs.execute();
    return cs.getString(1);
     }
  });

  5.事务
  session.clean(User.class);
  User u;
  session.beginTransaction();
  try {
    for(int i = 0; i < 1000; i++) {
        String sex = (i % 2 == 0 ? "男" : "女");
        u = new User(Strings.fixed(6), sex, Numbers.random(100), Strings.random(16));
        session.save(u);
        if(i == 886) {
            Integer.parseInt("kkk");
        }
    }
    session.commit();
  } catch (Exception e) {
    session.rollback();
  } finally {
    session.endTransaction();
  }

这是一个完全基于JDBC的轻量java orm framework, 目标定位于使用方便,简单,后续会增加许多新的特性

下载地址:http://sourceforge.net/projects/javaclub/files
1
2
分享到:
评论

相关推荐

    芒果:Java的分布式ORM框架

    芒果:Java的分布式ORM框架 快速,简单,可靠。 Mango是一个高性能的分布式ORM框架。 Mango使关系数据库与面向对象的应用程序一起使用变得更加容易。 性能和简单性是Mango数据映射器相对于对象关系映射工具的最大...

    smart-framework:轻量级 Java Web 开发框架 - forked from 黄勇 smart-framework

    1. 它是一款轻量级 Java Web 框架 内置 IOC、AOP、ORM、DAO、MVC 等特性 基于 Servlet 3.0 规范 使用 Java 注解取代 XML 配置 2. 它使应用充分做到“前后端分离” 客户端可使用 HTML 或 JSP 作为视图模板 服务端可...

    Spring Framework 应用程序框架 v5.1.18

    为您提供Spring Framework 应用程序框架下载,Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架基于 Expert One-on-...

    spring-framework-3.1.0.RELEASE.zip

    完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转——Spring通过一种...

    smart-framework:智能框架的副本

    它是一款轻量级 Java Web 框架内置 IOC、AOP、ORM、DAO、MVC 等特性基于 Servlet 3.0 规范使用 Java 注解取代 XML 配置2. 它使应用充分做到“前后端分离”客户端可使用 HTML 或 JSP 作为视图模板服务端可发布 REST ...

    Neo:Orm框架:基于ActiveRecord思想开发的至简化且功能很全的Orm框架

    当前已经发布到maven中央仓库,直接使用即可,目前最低版本0.3.0,不同版本的api差距不小,建议使用最新版本。目前版本还未脱离实验阶段,还未到达稳定版,如果有什么问题请及时反馈 &lt;groupId&gt;...

    整理后java开发全套达内学习笔记(含练习)

    FrameWork [java] 结构,框架 ['freimwә:k] Generic [java] 泛型 [dʒi'nerik] goto (保留字) 跳转 heap n.堆 [hi:p] implements (关键字) 实现 ['implimәnt] import (关键字) 引入(进口,输入) Info n.信息 ...

    基于Java的支教信息共享系统设计与实现.docx

    越来越多的人们想要参与到志愿服务中去,为建设祖国贫困地区献出自己的一份力量,但传统的支教服务招募信息传递范围和速度有限,所以为改善这一问题本文开发了基于Java的支教信息共享系统,该系统的主要功能包括用户...

    ASP新闻发布系统设计(源代码+thesis).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP文章在线发布系统设计(thesis+源代码).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP基于WEB新闻发布系统(源代码+thesis).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP+ACCESS新闻发布系统(源代码+thesis).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP.NET基于BS课件发布系统(源代码+thesis).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    asp.net校园新闻发布系统的设计与实现(源代码+thesis).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP文章在线发布系统(thesis+源代码+任务书+实验说明).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP企业公告及资料发布系统的设计与实现(源代码+thesis).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP基于web的学校新闻发布系统开发(thesis+源代码+++外文翻译).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP+ACCESS软件信息发布系统设计(源代码+thesis++任务书+replyPPT).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP+ACCESS课程教学网站信息交流与发布系统(源代码+thesis+外文翻译).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

    ASP+access校园新闻发布管理系统(thesis+源代码+任务书+说明+replyPPT).zip

    数据库集成:我们将使用Entity Framework作为ORM(对象关系映射)工具,与数据库进行集成。Entity Framework提供了一种简单且强大的方式来访问和操作数据库,可以大大简化数据访问层的开发工作。 安全性保护:我们将...

Global site tag (gtag.js) - Google Analytics