Java Micro ORM相当于
在Java中,与微观ORM(如Dapper , PetaPoco , Massive或CodingHorror)最接近的是什么?
我推荐Spring JDBC模板 。 虽然这不是一个“真正的”ORM,但是使用Hibernate似乎是一个过度的乐趣。
sql2o看起来像是一个Dapper的select – JDBC的薄包装
String sql = "SELECT id, category, duedate " + "FROM tasks " + "WHERE category = :category"; Sql2o sql2o = new Sql2o(DB_URL, USER, PASS); List<Task> tasks = sql2o.createQuery(sql) .addParameter("category", "foo") .executeAndFetch(Task.class);
github – https://github.com/aaberg/sql2o
以下是与简单JDBC进行交互时“缓解痛苦”的工具列表:
- Spring的JdbcTemplate
- Apache DbUtils
- JDBI
- sql2o
- persism
下面是一些简单JDBC之外的工具列表,即提供一些ORM / ActiveRecord工具
- (这个可能不符合micro-ORM)
- JaQu
- ActiveJDBC (这是一个更多的ActiveRecord API,比ORM)
- MyBatis (这个着重于SQL模板,但也有一些映射function)
- EBean
另外一个有趣的ORM就是JDBI 。 这是五分钟的介绍
它有两个可选的API:
stream利的API
DBI dbi = new DBI(ds); Handle h = dbi.open(); String name = h.createQuery("select name from something where id = :id") .bind("id", 1) .map(StringMapper.FIRST) .first();
和SQL对象API ,其中SQL语句被映射到具有声明性接口的方法,如下所示:
public interface MyDAO { @SqlUpdate("create table something (id int primary key, name varchar(100))") void createSomethingTable(); } DBI dbi = new DBI(ds); MyDAO dao = dbi.open(MyDAO.class); dao.createSomethingTable();
还检出SimpleFlatMapper
这是一个高性能的简单的ResultSet对象映射器。 它只是插在jdbc之上,并且比Hibernate Ibatis甚至sql2o提供更好的性能。 它很容易集成JdbcTemplate并提供构造函数,设置和字段注入。
这个似乎还没有在这里提到: dalesbred
类似于sql2o和dapper …