您现在的位置是:首页 > 文章详情

Wood,微型 Java ORM 框架(首次发版)

日期:2023-09-16点击:257

Wood,微型 Java ORM 框架(支持:java sql,xml sql,annotation sql;事务;缓存;监控;等...),零依赖!

特点和理念:

  • 跨平台:可以嵌入到JVM脚本引擎(js, groovy, lua, python, ruby)及GraalVM支持的部分语言。
  • 很小巧:0.2Mb(且是功能完整,方案丰富;可极大简化数据库开发)。
  • 有个性:不喜欢反射(主打弱类型)、不喜欢配置(除了连接,不需要任何配置)。
  • 其它的:支持缓存控制和跨数据库事务。

核心对象和功能:

  • 上下文:DbContext db
  • 四个接口: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> 

项目地址:

原文链接:https://www.oschina.net/news/258339
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章