- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 七、JDBC-事务的隔离级别&批量处理
数据库事务的隔离级别对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题:脏读: 对于两个事务 T1, T2, T1 读取了已经被 T2 更新但还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的.不可重复读: 对于两个事务 T1, T2, T1 读取了一个字段, 然后 T2 更新了该字段. 之后, T...
2018-10-31 21:18:19 143
原创 六、JDBC--获取自动生成的主键值&处理Blob&数据库事务处理
【孤立的技术是没有价值的】,我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值。具体的代码实现:/** * 获取数据库自动生成的主键 */ @Test public void testGetKeyValues(){ Connection connection=null; ...
2018-10-31 20:34:58 234
原创 java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap报错解决办法
在用BeanUtils包时,出现了如上错误,经测试,究其原因就是在commons-collection-4.X以上的包中不存在FastHashMap方法解决方案也很简单,替换成commons-collection-3.2版本的包就可以目前测试可以使用的BeanUtils依赖包版本是:BeanUtil-1.9.3 +Collection-3.2.2 +logging-1.2...
2018-10-30 22:04:34 4169 2
原创 五、DAO设计模式
1.DAO: Data Access Objectwhy:实现功能的模块化,更有利于代码的维护和升级。DAO可被子类继承或直接使用。what:访问数据信息的类,包含了对数据的CRUD(creat,read,update,delete),而不包含任何业务相关的信息。how:使用JDBC编写DAO可能会包含的方法://INSERT,UPDATE,DELETE 操作都可以包含在其中...
2018-10-30 21:56:50 210
原创 四、利用反射及JDBC元数据编写通用的查询方法
一、JDBC元数据1)DatabaseMetaData/** * 了解即可:DatabaseMetaData是描述数据库的元数据对象 * 可以由Connection得到 */@Test public void testDatabaseMetaData(){ Connection connection=null; ...
2018-10-30 11:29:56 232
原创 三、使用PreparedStatement进行sql语句预处理
PreparedStatementpublic interface PreparedStatement extends Statement;可以看到PreparedStatement是Statement的子接口,我们在执行查询或者更新数据表数据的时候,拼写SQL语句是一个很费力并且容易出错的事情,PreparedStatement可以简化这样的一个过程.PreParedStatement...
2018-10-25 21:59:48 14395 4
原创 JAVASE反射机制
一、反射机制的原理以及提供的功能1.与反射相关的几个API 2.反射机制的简单使用通过所调用类的class来获取Class类(与class不一样)的对象。用Class类创建的对象来创建想调用的类的对象(有些绕口- - )。Field类用来接收成员变量,通过Class类对象的getField来调用。并且可以使用Field类对象的set方法对成员变量进行赋值(因为...
2018-10-22 21:51:33 285
原创 PL/SQL触发器
一、触发器类型二、触发器的组成三、触发器的创建举例创建一个简单的更新数据时的helloworld触发器:四、:nwe :old 修饰符的使用可以将DML语句操作之前的数据以及操作之后的数据显示出来。应用:...
2018-10-17 20:35:44 247
原创 PL/SQL异常处理
一、异常处理的三种方式异常处理通常在PL/SQL结构的后半部,结构为EXCEPTIONWHEN 异常1名字 THEN 处理方法;WHEN 异常2名字 THEN 处理方法;WHEN OTHERS THEN 处理方法;二、预定义的异常处理1.部分ORACLE 预定义的异常错误如下图所示:2.举例:当select into语句返回多条数据给一个变量的时候,会产生T...
2018-10-17 20:09:01 622
原创 PL/SQL 游标
一、游标的概念游标类似于java中的迭代器,可以挨个遍历查询的结果集。(个人理解)二、显式的游标处理1.游标处理分四步,第一步:定义游标;第二步:打开游标;第三步:提取游标数据;第四步:关闭游标。当然也可以再提取游标数据的时候将游标的数据放到一个记录类型的变量里,只需要与定义游标时的字段类型按顺序匹配即可。2.在提取游标数据的时候,会用到一些游标属性,如上图中的 emp...
2018-10-17 19:18:12 492
原创 PL/SQL流程控制
一、条件语句1.IF ELSE 语句:①一个条件的时候:②两个条件的时候: 多个条件的时候:(注意是ELSIF 而不是ELSEIF )应用实例:2.case when then表达式同样拿一道题去举例注意(赋值的变量写在case之前)且每个when then 后不需要加分号。二、循环语句1.简单循环LOOP 要执行的语句;E...
2018-10-16 17:57:37 142
原创 PL/SQL基本语法格式以及记录类型
一、PL/SQL是什么、PL/SQL学习重点1.PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。2....
2018-10-16 15:15:07 788
原创 高级子查询
本章笔记重点:一、书写多列子查询(使用成对的多列子查询)二、在from子句中使用子查询举个栗子 :这是通过where条件中的子查询来进行查找,但存在一定的冗余,所以方法二(在from子句中使用子查询)如下所示三、单列子查询case …… when……then……else……end是类似与switch case语句。2.在order by 中使用单...
2018-10-15 17:43:33 192
原创 SET运算符
一、SET操作符以A集合中有元素2,3;B集合中有元素1,3,4为例解释以下操作符UNION 取A集合与B集合的并集,结果为1,2,3,4UNION ALL 两集合的所有元素,结果为1,2,3,3,4INTERSECT 取两集合的交集,结果为3MINUS 如为A MINUS B ,在A中与B求差,结果为2二、使用及注意事项1.使用方式:select…… SET操作符...
2018-10-11 21:18:16 926 1
原创 控制用户权限与角色
Oracle用户、权限、角色管理 前言:系统权限是用户用于创建删除以及修改本用户内的数据库对象时用到的;对象权限是本用户用于修改(以及创建删除)别人用户内的数据库对象时用到的;当前用户下执行的grant语句,其所能grant的权限都是当前用户本身所拥有的权限。总结: 1. with admin option与with grant option区别: - with a...
2018-10-10 21:03:03 225
原创 序列、索引和同义词
一、序列、索引和同义词的用处二、序列1.定义序列2.在创建序列之后可以通过序列名.nextrval 和序列名.currval来调用,调用currval查看当前序列值的前提是序列必须开始使用,也就是必须通过调用序列名.nextrval让序列开始使用。3.序列的修改4.使用序列有可能产生“裂缝”(比如在插入序列为40。41。42.的时候,在插入42之前进行了一次...
2018-10-10 19:48:50 577
原创 视图
一、视图是什么视图(view):从表中抽出的逻辑上相关的集合。视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。视图具有以下优点:1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。2. 可以将复杂的查询保存为视图。...
2018-10-09 19:30:58 265
原创 约束
一、约束的类型1.(not null 为非空约束,unique为唯一约束,primary key为主键,foreign key为外键,check为检查条件。)ps:一般情况下要给自己设置的约束取名字,使自己的sql语句有可读性,并且方便修改。2.表级约束和列级约束二、not null约束在创建表时创建not null的具体步骤,id列是创建一个自命名的not n...
2018-10-09 13:40:28 304
原创 数据处理、事务
一、数据操纵语言(可以进行回滚操作)二、insert插入数据1.当不指定列的时候,直接插入需要将每个列的对应值都显示的按顺序写明,不然会产生错误(如果没有值,也要必须注明null)2.当指定列时,可以按指定的列进行数据插入。注意字符和日期类型需要包含在单引号内3.还有一种在insert语句中加入子查询的拷贝数据方法4.利用&创建脚本进行数据插...
2018-10-08 21:28:37 210
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人