
Foxnic-SQL
文章平均质量分 85
LeeFJ@2022
这个作者很懒,什么都没留下…
展开
-
Foxnic-SQL (16) ——Foxnic-SQL的模型关联方法
本节我们将用一个简单的例子,来说明对象之间的关联关系,以及 Foxnic-SQL 是如何处理这种关联关系的。首先,我们引入商城下单的简单业务模型,这个模型里面包括了商品、订单、订单明细以及收件人地址,这个模型足够简单,所以很容易分析出他们之间的关联关系。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。原创 2023-01-04 11:28:50 · 181 阅读 · 0 评论 -
Foxnic-SQL (15) —— 使用记录集导入或导出Excel
很多时候,我们需要将外部 Excel 表中的数据导入到数据库,或是需要将某个查询结果导出到 Excel 文件中,对于这种简单的操作,Foxnic-SQL 已经内置了 ExcelReader 和 ExcelWriter 用于处理 Excel 数据。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。原创 2023-01-03 14:30:41 · 172 阅读 · 0 评论 -
Foxnic-SQL (14) —— DAO 的 Service 扩展
Foxnic-SQL 中的 Service 有点像 DDD 中的 Repository ,但 Foxnic 体系里面又没有将 Repository 和 Service 区分开来,所以它更有点像两者的合体。但,他们的合与分本身是弹性的,具体还是要看业务场景的需要。在很多项目中,好多时候,Controller 是 Service 的二传手,或许它也会成为 Repository 的三传手。所以,到底是单传还是二传或是三传还是要看项目、看场景。原创 2023-01-03 11:16:30 · 81 阅读 · 0 评论 -
Foxnic-SQL (13) —— 外部SQL与SQL模版
在前几节中,已经介绍过 Foxnic-SQL 将 SQL 语句对象化并执行。那么,为什么还要引入外部 SQL 和 SQL 模板的特性呢?首先,大多数时候,我们的第一反应是用字符串去拼接 SQL 语句,这说明字符串拼接方式其实是最直观的。其次,使用对象化的方式拼接 SQL ,还是有其局限性,大量的 SQL 文本也不宜直接写在 Java 类中。所以,Foxnic-SQL 将原本要写在 Java 类中的 SQL 语句放到一个外部文件中,每个语句用一个 ID 去标识,在 SQL 执行时,只要指定 ID 就可以了。原创 2023-01-03 10:39:37 · 225 阅读 · 0 评论 -
Foxnic-SQL (12) —— DAO 特性 : 记录与记录集
默认情况下,JDBC 从数据库取得的是 ResultSet(游标),但是游标打开着是消耗数据库连接的,所以我们希望,打开游标取数结束后立即关闭游标。Foxnic-SQL 使用 Rcd(记录)和 RcdSet(记录集) 将游标遍历的数据取出存放。本节将详细介绍 Rcd(记录)和 RcdSet(记录集)的概念和使用方法。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。原创 2022-12-20 11:14:55 · 183 阅读 · 0 评论 -
Foxnic-SQL (11) —— DAO 特性 : 事务管理
事务管理是任何一个数据层工具所必须的,Foxnic-SQL 既然是基于 Spring JDBC 的自然默认就支持 @Transactional 注解,另外 Foxnic-SQL 的 DAO 对象还支持手动事务。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。原创 2022-12-15 17:12:25 · 158 阅读 · 0 评论 -
Foxnic-SQL (10) —— DAO 特性 : 生成序列
在数据库层面,各个数据库对序列的支持是不一样的。大多数数据库可以为表指定一个自增的字段,但这种自增字段却很不利于数据的迁移。类似 Oracle 的数据库有专门的序列对象,但这种方式太独特,也不利于在产品层面的多数据库适配。基于这样的考虑,Foxnic-SQL 单独实现了基于存储过程的序列。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。获取序列的定义可以有两种方式:界面配置和程序配置。原创 2022-12-15 17:08:08 · 88 阅读 · 0 评论 -
Foxnic-SQL (9) —— DAO 特性 : 执行存储过程与函数
Foxnic-QSL 对函数与存储过程的调用做了简化,使调用过程尽量简洁。虽然现在新构建的应用越来越不提倡使用数据库存储过程与函数,但是它们还是非常广泛地被使用着。任何技术的使用,一是看场景,而是看使用者,存储过程和函数不应被抛弃。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。首先,在数据库创建存储过程和函数,存储过程的特点是多个参数,多个返回值。函数的特点是多个参数,一个返回值。原创 2022-12-15 15:12:34 · 101 阅读 · 0 评论 -
Foxnic-SQL (8) —— DAO 特性 : 数据查询
Foxnic-SQL 的 DAO 对象包含了非常丰富的查询功能,可以查询记录、数据实体(Po对象)、单值。针对不同的数据库 DAO 对象已经实现了默认的分页功能。DAO 中所有的查询方法都支持 SQL 字符串查询、SQL 对象查询。下面我们来具体看一下这些功能。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。原创 2022-12-14 13:12:33 · 199 阅读 · 0 评论 -
Foxnic-SQL (7) —— DAO 特性 : 执行 SQL 语句
Foxnic-SQL 支持多种语句执行方式,包括直接执行SQL字符串、执行SQL对象,SQL对象自执行,多语句执行与批量执行。Foxnic-SQL 显著的特征是 DAO 对象既可以执行字符串的 SQL 语句,也可以执行对象化的SQL语句。本文中的示例代码均可在foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码项目中找到。原创 2022-12-13 13:24:09 · 200 阅读 · 0 评论 -
Foxnic-SQL (6) —— DAO 特性 : 基本信息与元数据
DAO 对象创建后就可以使用DAO对象了,DAO 最基本的特性就是获取数据库的一些基础信息,这些信息有利于开发者在某些场景下做出正确的判断。从系统性能考虑,若要对单次查询的行数做出限制,这个限制可以通过 dao.setQueryLimit() 方法实现。本节主要了解了获得 DAO 对象基本信息的方法、获得元数据的方法、取数控制约束的方法以及SQL日志的相关设置与控制。通过 DAO 可以查询到当前连接的数据库相关的元数据,如数据库中所有的表的清单、每个表的字段信息、索引信息等。本文中的示例代码均可在。原创 2022-12-09 13:42:14 · 192 阅读 · 0 评论 -
Foxnic-SQL (5) —— 创建与初始化DAO
例如,setAllowDeleteWithoutWhere 的控制,就可以在执行时体现,但创建人ID、创建时间等字段的自动填充,是需要引入 Service 层的,关于这方面的内容,我们在后面继续介绍。这里需要特别说明的是 DBTreaty 并未对主键字段的名称和类型做约定,主要考虑主键字段的命名未必需要统一(当然,最好也能统一命名),而且有些情况下还存在联合主键,所以主键规约暂不纳入 DBTreaty 范围内。在后面的章节中,我们继续介绍 DAO 更多的使用方法。本文中的示例代码均可在。原创 2022-12-09 10:20:01 · 192 阅读 · 0 评论 -
Foxnic-SQL (4) —— 增删改查(CRUD)
通过Foxnic-SQL 做 CRUD 是一件非常简单的事情,Foxnic-SQL 分别提供了 Insert、Update、Selelct、Delete 四个类型做语句构建。当然,通过对象化的方式构建语句要比直接写SQL字符串要复杂一些,但是好处也是显而易见的。本文中的示例代码均可在 foxnic-samples: 用于展示和提供 Foxnic 相关的示例工程和代码 项目中找到。废话不多说,直接上代码:Select 语句 Select 语句是比较常用的语句,Foxnic-SQL 对于原创 2022-12-07 13:03:32 · 119 阅读 · 0 评论 -
Foxnic-SQL (3) —— 条件表达式(ConditionExpr)
条件表达式 ConditionExpr 的作用就是完成查询条件的拼装。ConditionExpr 支持自由拼装和指定字段的拼装。自由拼装类似 Expr 的使用方式,并不进行语义或语法的校验。指定字段的拼装,略微严格一点,它会进行简单的字段和值忽略的校验。原创 2022-12-07 13:00:43 · 405 阅读 · 0 评论 -
Foxnic-SQL (2) —— SQL表达式(Expr)
Foxnic-SQL 中所说的表达式,其实是SQL表达式。任何带有变量占位符的字符串就是一个SQL表达式,这些表达式最终可以拼装成一个完整的SQL语句。Foxnic-SQL 支持命名占位符(:NAME)和匿名占位符(?)。原创 2022-12-05 11:34:29 · 655 阅读 · 0 评论 -
Foxnic-SQL (1) —— 快速入门(QuickStart)
Foxnic-SQL 是基于Spring JDBC 开发的 SQL 语句执行与数据处理框架。她扩展与简化了 Spring JDBC 的功能,解决开发痛点,使基于数据库的开发更加高效简洁。项目地址:foxnic: Foxnic基础框架,开发工具。关于 Foxnic-SQL 解决的痛点与设计初衷,可以跟进 Foxnic-SQL 的相关视频。视频地址:Foxnic 开发文档 - 入门指南Foxnic-SQL 即支持以实体模型为中心的开发模式,也支持以SQL语句为中心(DBA视角)的开发模式。原创 2022-12-02 15:39:41 · 553 阅读 · 0 评论 -
Foxnic-Web 中数据权限的使用
环境变量在数据权限内部进行逻辑判断和SQL的变量代入时使用。环境变量可分为全局环境变量和本地环境变量。全局环境变量注册后,可在整个应用内部使用。本地环境变量注册后,仅在对应的模块范围内使用,本地环境变量通常与 Po 来划分,即在对应的 Po 查询 Service 中可以使用。注册全局环境变量本地环境变量数据权限代码,全局唯一,会在 java 代码中代入,以指定使用哪个数据权限规则。用于指定查询的对象,Po 类型的完全限定名。在系统的找到,数据权限,并进行配置:以“”,从字面理解,流程查询范围框定在。原创 2022-12-02 15:29:18 · 183 阅读 · 0 评论 -
Foxnic-Web 代码生成 (4) —— shadow 方法的应用
shandow方法和shandowBoolean方法的目的就是避免直接的值比较,把属性处理成等价的枚举和逻辑值,代码更加简洁。原创 2022-12-02 15:20:30 · 139 阅读 · 0 评论