Wood, ein Micro-Java-ORM-Framework (erste Veröffentlichung)

Wood, ein Micro-Java-ORM-Framework (unterstützt: Java SQL, XML SQL, Annotation SQL, Transaktionen, Cache, Überwachung usw.), keine Abhängigkeiten!

Funktionen und Konzepte:

  • Plattformübergreifend: Kann in JVM-Skript-Engines (JS, Groovy, Lua, Python, Ruby) und einige von GraalVM unterstützte Sprachen eingebettet werden.
  • Sehr klein: 0,2 MB (und verfügt über vollständige Funktionen und umfangreiche Lösungen; es kann die Datenbankentwicklung erheblich vereinfachen).
  • Persönlichkeit: Ich mag keine Reflexion (ich konzentriere mich hauptsächlich auf schwache Typen) und ich mag keine Konfiguration (außer der Verbindung ist keine Konfiguration erforderlich).
  • Sonstiges: Unterstützt Cache-Steuerung und datenbankübergreifende Transaktionen.

Kernobjekte und Funktionen:

  • Kontext: DbContext db
  • Vier Schnittstellen: db.mapper(), db.table(), db.call(), db.sql()
/** BaseMapper 用法 */
//BaseMapper 接口
db.mapperBase(User.class).selectById(1);

//BaseMapper 接口,lambda 条件查询
db.mapperBase(User.class).selectList(mq->mq
        .whereLt(User::getGroup,1)
        .andEq(User::getLabel,"T"));
/** Table用法 */
//增::
db.table("user").setEntity(user).insert();
db.table("user").setMap(map).insert();
db.table("user").setMap(map).insertAsCmd(); //构建查询命令(即查询语句)
//删::
db.table("user").whereEq("id",2).delete();
//改::
db.table("user").set("sex",1).whereEq("id",2).update();
db.table("user").setInc("level",1).whereEq("id",2).update(); //字段自+1
//查::
db.table("user u")
  .innerJoin("user_ext e").onEq("u.id","e.user_id")
  .whereEq("u.id",1001)
  .selectItem("u.*,e.sex,e.label", User.class);
db.table("user u")
  .innerJoin("user_ext e").onEq("u.id","e.user_id")
  .whereEq("u.id",1001)
  .selectAsCmd("u.*,e.sex,e.label"); //构建查询命令(即查询语句)
<!-- Xml 用法 -->
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//noear.org//DTD Mapper 3.0//EN" "http://noear.org/dtd/wood-mapper.dtd">
<mapper namespace="wood_demo.xmlsql2"
        import="demo.model.*"
        baseMapper="UserModel">
    <sql id="getUser" return="UserModel" remarks="获取用户信息">
        SELECT * FROM user WHERE id = @{id:int}
    </sql>
</mapper>

Projektadresse:

おすすめ

転載: www.oschina.net/news/258339