首页 > 编程语言 >Wood,微型 Java ORM 框架(首次发版)

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

时间:2023-09-16 11:11:43浏览次数:41  
标签:Java ORM db Wood user table whereEq id User

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>

项目地址:

标签:Java,ORM,db,Wood,user,table,whereEq,id,User
From: https://www.cnblogs.com/noear/p/17706458.html

相关文章

  • 基于JAVA的餐厅点餐微信小程序
    社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮流进行各大布局,经过多年的大浪淘沙,各种移动操作系统的不断面世,而目前市场占......
  • 基于Javaweb的物业管理系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要随着目前信息化手段的进步,使用技术手段可以有效的对小区物业进行管理。在社区,人员多,各种维修、报修信息大,如果单靠人工进行管理,很难进行有效的统计。为此提出开发物业管理系统,来管理小区的业主信息、通知公告、报修管理、房产管理等。本物业管理系统可以降低社区工作者的劳......
  • 如何成功将 API 客户的 transformer 模型推理速度加快 100 倍
    ......
  • 无涯教程-JavaScript - OFFSET函数
    描述OFFSET函数返回对范围的引用,该范围是一个单元格或单元格范围中指定的行数和列数。返回的引用可以是单个单元格或单元格范围。您可以指定要返回的行数和列数。语法OFFSET(reference,rows,cols,[height],[width])争论Argument描述Required/OptionalReference......
  • springmvc中设置文件的上传与下载,首先需要导入依赖,之后需要在springmvc.xml中配置问价
    2023-09-16导入依赖<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency>设置文件上传解析器springmvc.xml<?xml......
  • 疯踏java知识点-进阶精讲篇
    。继续进行讲解,如果前面有不懂的,可以翻阅一下同专栏的其他文章,该专栏是针对Java的知识从0开始。JavaBean一个Java中的类,其对象可用于程序中封装数据举例:学生类,手机类要求:1、成员变量使用private修饰2、提供每一个成员变量对应的setXxx()/getXxx()......
  • 深入理解Java中的反射机制
    什么是反射机制Java中的反射机制是指在运行时获取类的信息并操作类的属性、方法和构造函数等。通过反射机制,我们可以在运行时动态地创建对象、调用方法和访问属性等,而不需要在编译时确定这些信息。反射机制的应用场景反射机制在Java中有着广泛的应用场景,比如:动态代理动态代......
  • 如何优化Java应用程序的性能
    前言Java是一种广泛使用的编程语言,但是在处理大量数据或高并发请求时,Java应用程序的性能可能会受到影响。在本文中,我们将探讨如何优化Java应用程序的性能。优化JVM参数JVM参数可以影响Java应用程序的性能。以下是一些常用的JVM参数:-XX:+UseG1GC:使用G1垃圾回收器-XX:MaxGCPause......
  • 如何优化Java应用程序的性能
    介绍Java是一种高级编程语言,广泛应用于企业级应用程序的开发。然而,Java应用程序的性能问题是开发人员经常面临的挑战之一。在本文中,我们将讨论如何优化Java应用程序的性能。JVM调优Java虚拟机(JVM)是Java应用程序的核心组件。JVM调优是优化Java应用程序性能的重要步骤之一。以下是......
  • 基于Javaweb汽车销售管理系统设计与实现-计算机毕业设计源码+LW文档
    摘 要随着因特网技术的迅速发展,当前人们的生活模式发生了巨大的变化。特别是在经济发展的影响下,汽车销售逐渐进入了人们的生活,并通过汽车销售系统进行汽车管理,方便用户在线销售、交流操作。当前城市生活节奏快,工作路程远,为了减少不必要的路途时间,许多用户选择使用自驾快速到达目......