摘要:在 Java 中,经常会有扫描某个包,然后找出全部的 Class 的需求。 spring 工具 想使用 spring 的扫描功能,前提是对象要注册到容器。 AbstractApplicationContext (上下文)、ConfigurableListableBeanFactory(BeanFac
阅读全文
摘要:索引本身非常复杂,外国的东西来到中国之后,语义产生的偏差,加上个人不同的理解,网络上索引的相关知识就显得特别乱。 (代码部分为 Oracle 语法) 索引 索引,就像书本上的目录,用于辅助快速找到所需的数据。 索引的创建与使用,就像刚学编程的时候,把数据从小到大排列,然后创建一个数组,把数据放进去,
阅读全文
摘要:oracle 的存储过程,有一定实战价值,oracle 作为曾经的老大哥,有不少老公司会使用它。 如果是新系统,就不要使用了吧,计算交给 Java 程序,数据库做好存储就够了。 测试用函数 首先会遇到的问题:用带 OUT 参数的存储过程,该怎么把值打印到控制台。 -- 基本格式 DECLARE P1
阅读全文
摘要:做产品分类表的时候,通常会有这样的设计:一个字段是 ID,另一个字段 PID,PID 指向自己的上级分类。 oracle 环境下,查找、删除子级,是非常容易的一件事。 测试用表格 DROP TABLE CLS; CREATE TABLE CLS ( ID NUMBER NOT NULL, PID N
阅读全文
摘要:介绍触发器之前,先讲道理将你们劝退。 在你的整个职业生涯中,包括面试,大概率遇不到触发器,没必要花费太多时间学习。 对业务的影响 一般在项目中,会直接禁用触发器,因为一个业务流,无法预知会经历哪些触发器。 举个例子: 业务上需要保存一份数据,值为 3,经过触发器的计算,数值最终变成了 5。 项目初期
阅读全文
摘要:介绍一下存储过程或者函数中,会用到的一些流程控制语句。 oracle 的存储过程,有一定实战价值,oracle 作为曾经的老大哥,有不少老公司会使用它。 如果是新系统,就不要使用了吧,计算交给 Java 程序,数据库做好存储就够了。 -- if 语句 DECLARE i NUMBER := 1; B
阅读全文
摘要:程序员往往整个职业生涯都在与空值问题作斗争。 简单唠唠,空值对程序上各个环节设计,所带来的的影响。 数据库的null Conceptually, NULL means “a missing unknown value” and it is treated somewhat differently f
阅读全文