数据库对象

HTML5项目笔记10:使用HTML5 IndexDB设计离线数据库

为君一笑 提交于 2020-02-26 04:32:31
之前的文章( http://www.cnblogs.com/wzh2010/archive/2012/05/22/2514017.html )里面描述了HTML5 离线数据存储的Web SQL,一个基于SQLite 的离线数据库,不过 W3C 的 WebDatabase 规范中说这份规范不再维护了,取而代之的是IndexDB,一个NoSQL类型的数据库。 Html5Rocks把他们的优缺点做了比对,IndexDB综合看来有如下优点: 允许快速索引和搜索的对象,所以在HTML5 的 web应用程序中, 你可以有效管理你的数据和高效率的读/写操作。 W3C主推的离线数据库类型,逐渐替代Web SQL类型数据库,更新效率高并不断完善。 工作在异步模式下执行每步操作。让你使用高效率的的JavaScript事件驱动模块 现在我们来尝试使用这个IndexDB: 1、初始化声明 1 var dbName = "H5AppDB"; //数据库名称 2 var dbVersion = 2.0; //数据库版本 3 var tablename = "todo"; //表名 View Code 2、初始并实例化IndexDB数据上下文 1 //定义一个IndexDB方法集合对象 2 var H5AppDB = {}; 3 4 //实例化IndexDB数据上下文,这边根据浏览器类型来做选择 5 var

oracle同义词创建(synonym)

假装没事ソ 提交于 2020-02-26 02:43:41
在现在的项目中会有很多接口,数据来源也可能是不同数据库或者是不同的用户下的表,给访问该表带来了一定的麻烦。这个时候就可以使用同义词来简化。 同义词的语法是:CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ]; 创建同义词的时候还需要赋值相关的权限: 首先是:用sys账号给DM账号赋予CREATE SYNONYM的权限 GRANT CREATE SYNONYM TO user_temp; user_temp是你要建同义词的用户。 这个时候你创建同义词的时候,如果找不到你要管理的user_res用户下的表tableA。(注:要在user_temp用户下创建user_res用户下tableA表的同义词) 这个时候还需要一个权限就是user_temp用户select tableA的权限,这个时候是在user_res用户下赋值的 grant select on tableA to user_temp; 这样就可以在user_temp用户下创建同义词了 -- Create the synonym create or replace synonym tableA for user_res.tableA; 上面说的是再同一个数据库中,不同用户下创建同义词

JPA的多表设计

拟墨画扇 提交于 2020-02-23 13:31:44
表之间关系的划分 数据库中多表之间存在着三种关系,如图所示。 从图可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系 。注意:一对多关系可以看为两种: 即一对多,多对一。所以说四种更精确。 明确: 我们今天只涉及实际开发中常用的关联关系,一对多和多对多。而一对一的情况,在实际开发中几乎不用。 1 在 JPA 框架中表关系的分析步骤 在实际开发中,我们数据库的表难免会有相互的关联关系,在操作表的时候就有可能会涉及到多张表的操作。而在这种实现了 ORM 思想的框架中(如 JPA ),可以让我们通过操作实体类就实现对数据 库表的操作。所以今天我们的学习重点是:掌握配置实体之间的关联关系。 第一步:首先确定两张表之间的关系。 如果关系确定错了,后面做的所有操作就都不可能正确。 第二步:在数据库中实现两张表的关系 第三步:在实体类中描述出两个实体的关系 第四步:配置出实体类和数据库表的关系映射(重点) 2 JPA 中的一对多 2.1 示例分析 我们采用的示例为客户和联系人。 客户:指的是一家公司,我们记为 A 。 联系人:指的是 A 公司中的员工。 在不考虑兼职的情况下,公司和员工的关系即为一对多。 2.2 表关系建立 在一对多关系中,我们习惯把一的一方称之为主表,把多的一方称之为从表。在数据库中建立一对多的关系,需要使用数据库的外键约束。 什么是外键? 指的是从表中有一列

mybatis和hibernate的特点

本秂侑毒 提交于 2020-02-23 07:28:59
第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求去考虑究竟哪一个更适合项目开发,比如:一个项目中用到的复杂查询基本没有,就是简单的增删改查,这样选择hibernate效率就很快了,因为基本的sql语句已经被封装好了,根本不需要你去写sql语句,这就节省了大量的时间,但是对于一个大型项目,复杂语句较多,这样再去选择hibernate就不是一个太好的选择,选择 mybatis 就会加快许多,而且语句的管理也比较方便。 第二方面:开发工作量的对比 Hibernate和MyBatis都有相应的代码生成工具。可以生成简单基本的DAO层方法。针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。 第三方面:sql优化方面 Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的

SQL Server DBA日常检查常用SQL

风流意气都作罢 提交于 2020-02-21 04:41:31
1、数据库 --所有数据库的大小 exec sp_helpdb --所有数据库的状态 select name, user_access_desc, --用户访问模式 state_desc, --数据库状态 recovery_model_desc, --恢复模式 page_verify_option_desc, --页检测选项 log_reuse_wait_desc --日志重用等待 from sys.databases --某个数据库的大小:按页面计算空间,有性能影响,基本准确,有时不准确 use test go exec sp_spaceused go --可以@updateusage = 'true',会运行dbcc updateusage exec sp_spaceused @updateusage = 'true' --对某个数据库,显示目录视图中的页数和行数错误并更正 DBCC UPDATEUSAGE('test') 2、数据文件 复制代码 代码如下: --查看某个数据库中的所有文件及大小 sp_helpfile --查看所有文件所在数据库、路径、状态、大小 select db_name(database_id) dbname, type_desc, --数据还是日志 name, --文件的逻辑名称 physical_name, --文件的物理路径 state_desc,

【Java并发工具类】ReadWriteLock

房东的猫 提交于 2020-02-19 17:55:16
摘自: https://www.cnblogs.com/myworld7/p/12323467.html 阅读目录 前言 什么是读写锁 ReentrantReadWriteLock 实现一个快速缓存 缓存数据的初始化 实现缓存的按需加载 读写锁的升级与降级 小结 回到目录 前言 前面介绍过 ReentrantLock ,它实现的是一种标准的互斥锁:每次最多只有一个线程能持有ReentrantLock。这是一种强硬的加锁规则,在某些场景下会限制并发性导致不必要的抑制性能。互斥是一种保守的加锁策略,虽然可以避免“写/写”冲突和“写/读”冲突,但是同样也避免了“读/读”冲突。 在读多写少的情况下,如果能够放宽加锁需求,允许多个执行读操作的线程同时访问数据结构,那么将提升程序的性能。只要每个线程都能确保读到最新的数据,并且在读取数据时不会有其他的线程修改数据,那么就不会发生问题。在这种情况下,就可以使用 读写锁 :一个资源可以被多个读操作访问,或者被一个写操作访问,但两者不能同时进行。 Java中读写锁的实现是 ReadWriteLock 。下面我们先介绍什么是读写锁,然后利用读写锁快速实现一个缓存,最后我们再来介绍读写锁的升级与降级。 回到目录 什么是读写锁 读写锁是一种性能优化措施,在读多写少场景下,能实现更高的并发性。读写锁的实现需要遵循以下三项基本原则: 允许多个线程同时读共享变量

mysql 常见语法

眉间皱痕 提交于 2020-02-16 19:01:53
一、数据库简单介绍 1、 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系统中,关系型数据库使用最为广泛。面向对象数据库则是由面向对象语言催生的新型数据库,目前的一些数据库系统,如:SQL Server 2005、Oracle10g等都开始增加面向对象的特性。 二、常用基本SQL语句/语法 Ø SQL 语句基础理论 SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作然后关系型数据库。 标准的 SQL 语句通常划分为以下类型: 查询语句: 主要由于select关键字完成,查询语句是SQL语句中最复杂,功能最丰富的语句。 DML (Data Munipulation Language,数据操作语言)语句,这组DML语句修改后数据将保持较好的一致性;操作表的语句,如插入、修改、删除等; DDL (Data Definition Language,数据定义语言)语句,操作数据对象的语言,有create、alter、drop。 DCL (Data Control Language,数据控制语言)语句,主要有grant、revoke语句。 事务控制语句: 主要有commit、rollback和savepoint三个关键字完成 DDL 语句 DDL语句是操作数据库对象的语句

JDBC工具包使用

雨燕双飞 提交于 2020-02-14 14:04:12
数据库结构图: 第一种组合 :   只有官方驱动 mysql-connector-java-5.1.13-bin.jar 包结构: 代码:简单实现增删改查 可以自己做一个配置文件工具包,见上一篇文章 1 package com.jdbc.onlyconnector; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.util.Scanner; 9 10 import org.junit.Test; 11 12 public class ConnectorTest { 13 @Test 14 public void test01() throws ClassNotFoundException, SQLException { 15 //jdbc四大参数,driver的全限命名,url,user,password 16 String driverClassName = "com.mysql.jdbc.Driver"; 17 String url = "Jdbc:mysql:/

JDBC

我的未来我决定 提交于 2020-02-14 11:08:02
主要内容 1. JDBC基本概念 2. 快速入门 3. 对JDBC中各个接口和类详解 4. 数据库连接池 5. Spring JDBC : JDBC Template JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。 2. 快速入门: * 步骤: 1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下 2.右键-->Add As Library 2. 注册驱动 3. 获取数据库连接对象 Connection 4. 定义sql 5. 获取执行sql语句的对象 Statement 6. 执行sql,接受返回结果 7. 处理结果 8. 释放资源 * 代码实现: //1. 导入驱动jar包 //2.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连接对象 Connection conn =

day29_JDBC

百般思念 提交于 2020-02-14 08:58:41
JDBC 概念 Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。 JDBC本质 :其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。 JDBC 规范定义接口 ,具体的实现由各大数据库厂商来实现。JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可,数据库驱动由数据库厂商提供。 JDBC 的好处: 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库 使用 JDBC 开发使用到的包: JDBC 的核心 API JDBC 访问数据库的步骤 1:注册和加载驱动 导入驱动 Jar 包 2:获取连接使用DriverManager类中的getConnection方法,获取连接对象 3:Connection连接对象 获取 Statement/getConnection 执行SQL 对象 4