数据库对象

jdbcUtil工具类简单封装

依然范特西╮ 提交于 2019-12-03 06:22:18
先阐述一下JDBC的一些核心API java.sql.* JDBC规范都是当前包内 java.sql.DriverManager 驱动管理类,工具类 –| static void registerDriver(java.sql.Driver driver); 注册加载驱动,提供给当前程序使用 –| static java.sql.Connection getConnection(String url, String user, String password); 获取当前数据库连接对象,对应的URL,user,和password interface java.sql.Connection 数据库连接接口 –| java.sql.Statement createStatement(); 获取数据库SQL语句搬运工,只是把SQL语句搬运到MySQL数据库中,不会对SQL语句做任何的判断。 –| java.sql.PreparedStatement PrepareStatement(String sql); 获取数据库SQL语句的预处理对象,可以预处理SQL语句,判断一些SQL异常,降低MySQL数据库压力,提供执行效率 interface java.sql.Statement 数据库SQL语句搬运工 –| int executeUpdate(String sql); 执行insert,

JDBC基础

六月ゝ 毕业季﹏ 提交于 2019-12-03 05:28:07
之前操作Mysql数据库都是使用客户端工具登录数据库,然后再客户端编写SQL语句,发送到数据库服务器执行,例如Mysql数据库带的mysql客户端工具,可以在命令行执行 mysql -uUSERNAME -pPASSWORD 来登录本机数据库 那么在Java程序代码中操作数据库,可以使用JDBC技术。 一,什么是JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。直白讲就是使用Java代码发送SQL语句的技术。 使用JDBC可以连接不同的数据库,只需要提供相应的驱动程序,驱动程序由数据库厂商提供,就是一堆实现了JDBC接口的类。 这样做的好处: 开发者不需要关心数据库的驱动内部的原理,只需要维护Java部分的接口 数据库厂商如果修改了数据库的底层原理,也要提供对应的数据库驱动,但不影响Java程序部分 二,使用JDBC技术链接Mysql数据库服务器 连接数据库我们需要知道数据库的地址,端口号,正确的用户名和对应的密码 JDBC 核心API: JDBC的核心接口和类位于Java标准库的 java.sql 和 javax.sql 中,常用的主要位于java.sql中 核心类或者接口介绍: Driver接口

ORACLE AUDIT

穿精又带淫゛_ 提交于 2019-12-03 05:16:19
Oracle 作者: Davis_itpub 时间:2018-06-27 16:28:39 61 0 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle 会将审计跟踪结果存放到OS 文件(默认位置为$ORACLE_BASE/admin /$ORACLE_SID/adump/),或数据库(存储在system 表空间中的SYS.AUD$表中,可通过视图dba_audit_trail 查看)中。审计可以提供有用的信息,用于揭示权限的滥用和误用。当需要一定的粒度时,DBA 可以使用细粒度的审计来监控对表中某些行或列的访问,而不仅仅是是否访问表。 在oracle 11g 中,审计功能(AUDIT_TRAIL)是默认开启的。审计数据默认存放SYSTEM 表空间下的AUD$审计字典基表上。开启审计数据库会增加消耗,降低业务性能,因此,如果不是很必要,在安装好数据库后,可适当选择关闭数据库审计功能。 Oracle 公司还推荐使用基于OS 文件的审计日志记录方式(OSaudit trail files),当AUDIT_TRAIL 设置为OS 时,审计记录文件将在AUDIT_FILE_DEST 参数所指定的目录中生成。 一、审计类型 语句审计 按照语句类型审计SQL 语句,而不论访问何种特定的模式对象。也可以在数据库中指定一个或多个用户,针对特定的语句审计这些用户 权限审计

Oracle Audit 功能的使用和说明

北慕城南 提交于 2019-12-03 05:05:55
http://blog.itpub.net/9399028/viewspace-712457/审计(Audit) 用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的 SYS.AUD$ 表中,可通过视图dba_audit_trail查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/).。默认情况下审计是没有开启的。 不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。 和审计相关的两个主要参数 1、audit_sys_operations AUDIT_SYS_OPERATIONS enables or disables the auditing of top-level operations, which are SQL statements directly issued by users when connecting with SYSDBA or SYSOPER privileges.(SQL statements run from within PL/SQL procedures or functions are not considered top-level.) The audit records

SSH框架面试题(转)

我们两清 提交于 2019-12-03 04:50:38
Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation 5. 持久化操作 6. 提交事务 7. 关闭Session 8. 关闭SesstionFactory 为什么要用: * 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 * Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 * hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 * hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 Hibernate是如何延迟加载? * Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) * Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)

Django之orm

血红的双手。 提交于 2019-12-03 04:31:53
一、Django静态文件配置 ##settings.py## 静态文件配置: STATIC_URL = '/static/' # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] # 暴露给外界能够访问服务器静态文件夹下面所有的资源 STATIC_URL = '/xxx/' # 接口前缀 跟你的静态文件夹的名字一点关系都没有 # 默认情况下这个前缀跟静态文件夹名字一样!!! # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), # 就是你的静态文件夹路径 os.path.join(BASE_DIR,'static1'), os.path.join(BASE_DIR,'static2') ] # ps:会依次查找列表中所有的静态文件路径 找到的话立刻停止,都没有找到返回404 静态文件目录结构: 项目目录-->static-->{css, js, images, bootstrap-3.3.7} <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script

oracle学习篇:五、Buffer Cache与Shared Pool原理

梦想与她 提交于 2019-12-03 02:17:55
Buffer Cache与Shared Pool是SGA中的最重要和最复杂的两个部分。 5.1 Buffer Cache原理 当一个进程需要访问数据时,首先需要确定数据在内存中是否存在: 如果数据在buffer中存在,则需要根据数据的状态来判断是否可以直接访问还是需要构造一致性读取; 如果数据在buffer中不存在,则需要在buffer cache中寻找足够的空间以装载需要的数据,如果在buffer cache中找不到足够的空间,则需要触发dbwn去写脏数据,释放buffer空间。 5.1.1 LRU与Dirty List 在buffer cache中,oracle通过几个链表进行内存管理,其中最为人熟知的是LRU List和Dirty List。 数据库初始化时,所有的Buffer都被hash 到LRU List上管理,当需要从数据文件上读取数据时,首先要在LRU LIst上寻找Free的Buffer,然后读取数据到Buffer cache中;当数据被修改后,状态变为dirty,就可以被移动至dirty list(checkpoint queue),dirty list上的都是候选的可以被DBWR写出到数据文件的buffer,一个buffer要么在LRU List上,要么在Dirty List上存在,不能同时存在于多个List。 Buffer Cache的原理: (1

Nosql 数据库 MemCache、Redis、MongoDB 的区别

匿名 (未验证) 提交于 2019-12-03 00:43:02
1.memcached:单一键值对内存缓存的,做对象缓存无可替代的分布式缓存; 2.redis:是算法和数据结构的集合,快速的数据结构操作是他最大的特点,支持数据持久化; 3.mongodb 是 bson 结构、介于 rdb 和 nosql 之间的,更松散更灵活的,但是不支持事务,只用作非重要数据存储。 转载请标明出处: Nosql 数据库 MemCache、Redis、MongoDB 的区别 文章来源: https://blog.csdn.net/tlsxtk/article/details/92084613

Android 里的数据储存

匿名 (未验证) 提交于 2019-12-03 00:40:02
数据持久化 关于数据储存,这个话题已经被反复讨论过很多次了,我是不建议把网络存储这种方式纳入到数据储存的范围的,因为这个和Android没多少关系,因此就有如下的分类: 本地储存 (也称之为数据持久化,包含 文件储存, SharedPreferences,SQLite储存和ContentProvider(内容提供者)) 内存储存(静态变量、全局变量存值) 适用场景 如果app内有些数据是需要使用到上次该app关闭时的数据,比如下次启动app没有网络时要求显示之前的省市信息,那么无论,你有多么不愿意,本地储存是必要的,无非就是有数据时从内存先取,没有时从本地存储空间取; 内存储存相对于本地储存有着响应快,耗时低的优势,本地储存数据量大IO操作耗时长时甚至要在非UI线程来执行.这就意味着,能不用本地储存就不要用. 基本用法 使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。 它是什么样的处理方式呢?

框架和事务

匿名 (未验证) 提交于 2019-12-03 00:39:02
1**** Hibernate与MyBatis 开发学习 Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。 开发工作量 针对高级查询Mybatis需要手动编写SQL语句,以及ResultMap(映射)Hibernate有良好的映射机制SQL的生成与结果映射,可以更专注于业务流程。 SQL优化方面 Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗,也可以手动Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。 扩展性方面 Hibernate与具体数据库的XMLHQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。 五章 缓存机制对比 Hibernate与MyBatis都可以是通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory 生成Session,最后由Session来开启执行事务和SQL语句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。 Hibernate的调优方案 制定合理的缓存策略;