数据库对象

Oracle学习笔记—connect、resource和dba三种权限(转载)

Deadly 提交于 2020-01-18 09:10:08
一、Oracle数据字典   数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。   Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。以下分别就这两类数据字典来论述。   1.静态数据字典   这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。   user_*:该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)   all_*:该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)   dba_*:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)   从上面的描述可以看出,三者之间存储的数据肯定会有重叠,其实它们除了访问范围的不同以外

数据库管理 API

心已入冬 提交于 2020-01-18 02:15:28
java.sql.DriverManager static Connection getConnection(String url, String user, String password) 建立一个到指定数据库的连接,并返回一个Connection对象 java.sql.Connection Statement createStatement() 创建一个Statement对象,用以执行不带参数的SQL查询和更新 void close() 立即关闭当前的连接,并释放由它创建的JDBC资源 PreparedStatement preparedStatement(String sql) 返回一个含预编译语句的PreparedStatement对象。字符串sql代表一个SQL语句,该语句可以包含一个或多个由?字符指明的参数占位符 Blob createBlob() Clob createClob() 创建一个空的BLOB或CLOB Statement createStatement(int type, int concurrency) PreparedStatement preparedStatement(String command, int type, int concurrency) 创建一个语句或预备语句,且该语句可以产生指定类型和并发模式的结果集

Java高并发

女生的网名这么多〃 提交于 2020-01-16 00:18:13
转载: 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念: 同步和异步 1、同步和异步的区别和联系   所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到 返回的值或消息后才往下执行其它的命令。 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回 值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 同步在一定程度上可以看做是单线程,这个线程请求一个方法后就待这个方法给他回复,否则他不往下执行(死心眼)。 异步在一定程度上可以看做是多线程的(废话,一个线程怎么叫异步),请求一个方法后,就不管了,继续执行其他的方法。    同步就是一件事,一件事情一件事的做。 异步就是,做一件事情,不引响做其他事情。 例如:吃饭和说话,只能一件事一件事的来,因为只有一张嘴。 但吃饭和听音乐是异步的,因为,听音乐并不引响我们吃饭。 对于Java程序员而言,我们会经常听到同步关键字synchronized,假如这个同步的监视对象是类的话

JDBC入门

只愿长相守 提交于 2020-01-15 19:01:16
概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。 对象 DriverManager:驱动管理对象 静态函数 1. 注册与给定的驱动程序 DriverManager static void registerDriver ( Driver driver ) 例:Class . forName ( "com.mysql.jdbc.Driver" ) ; ,在 com . mysql . jdbc . Driver 类中存在调用函数的静态代码块 2. 获取数据库连接 static Connection getConnection ( String url , String user , String password ) url:指定连接的路径 语法:jdbc : mysql : / / ip地址 ( 域名 ) : 端口号 / 数据库名称 例子:jdbc : mysql : / / localhost : 3306 / db3 user:用户名 password:密码 注意:如果连接的是本机mysql服务器

在Tomcat中配置JNDI数据源

隐身守侯 提交于 2020-01-15 08:38:12
先了解一些基本概念。 JNDI JNDI是用于向Java程序提供目录和命名功能的API。 它被设计成独立于特定的目录服务,各种各样的目录都可以通过相同的方式进行访问。可以简单地把JNDI理解为一种将对象和名字绑定的技术,对象工厂负责生产出对象,这些对象都和惟一的名字绑定。外部程序可以通过名字来获取对某个对象的引用。 数据源 数据源(DataSource)是一个用来存储数据的工具,它可以是复杂的大型企业级数据库,也可以是简单得只有行和列的文件。它可以位于在服务器端,也可以位于客服端。 一个DataSource对象就是一个用于提供连接数据库的工具,它通常与连接池共同使用。在数据源初始化时,事先建立了多个数据库连接,这些数据库连接保存在连接池(Connect Pool)中。当Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接;当程序访问数据库结束,再将数据库连接放回连接池。 在JDBC 2.0或JDBC 3.0中,所有的数据库驱动程序提供商必须提供一个实现了DataSource接口的类,并要求使用数据源必须首先在JNDI中注册该数据源对象。 相比于传统的DriverManager接口,使用DataSource对象建立数据库的连接更加高效,虽然两者的使用范围都很相似,但DataSource比起DriverManager有两个方面的优势: 灵活

JDBC连接的基本步骤

我是研究僧i 提交于 2020-01-14 14:42:03
//声明数据库驱动,数据源的url,用于登录数据库的账户和密码(将其他功能封装成方法的时候方便使用) String driver = "数据库驱动名称" ; String url = "数据库连接地址" String user = "用来连接数据库的用户名" ; String pwd = "用来连接数据库的密码" ; //加载数据库驱动 Class . forName ( driver ) ; //根据url创建数据库连接对象Connection Connection con = DriverManage . getConnection ( url , user , pwd ) ; //用数据库连接对象创建Statement对象(或PrepareStatement) Statement s = con . createStatement ( ) ; 或 PrepareStatement ps = con . PrepareStatement ( sql ) ; //做数据库的增删改查工作 ResultSet rs = s . executeQuery ( ) ; //关闭结果集对象Resultset,statement对象,connection对象, rs . close ( ) ; s . close ( ) ; con . close ( ) ; //各个步骤的异常处理

所谓的持久层框架?ORM框架?以及Hibernate和Mybatis区别?

久未见 提交于 2020-01-14 08:47:22
ORM框架? Object Relational Mapping,对象-关系映射。 项目中的业务实体有两种表现形式:对象和关系数据,即在内存中表现为对象,在数据库中表现为关系数据。 为什么需要ORM框架? ORM框架是对象关系映射,那为什么要映射mapping? 因为对象之间可以存在关联和继承关系,但是在数据库中,关系数据无法表达多对多关联和继承关系。(ps:在数据库原理中,会把逻辑上的多对多转换为多个一对关系才能实现)因此,对象和关系(业务实体的两种表现形式)想要映射正确,项目系统一般以中间件的形式,即持久层框架。 Hibernate? Hibernate是一个开源的对象关系映射框架。 它对jdbc进行了非常轻量级的对象封装,将pojo(普通的Java对象)与数据库表建立映射关系,是一个全自动的ORM框架,甚至自动生成SQL语句,自动执行。 因此,程序员可以随心所有地使用对象编程思维来操纵数据库。 Hibernate特点: Hibernate通过修改一个“持久化”对象的属性,从而修改数据库表中对应的记录数据 提供线程和进程两个级别的缓存提升应用程序性能 有丰富的映射方式将 Java对象之间的关系(POJO) 转换为 数据库表之间的关系 屏蔽不同数据库实现之间的差异。在Hibernate中只需通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句

Mybatis框架相关知识详解

旧巷老猫 提交于 2020-01-14 03:17:03
Mybatis框架 1、什么是Mybatis? 2、Mybatis的优点 3、Mybatis的缺点 4、Mybatis框架的适用场合 5、#{}和${}的区别是什么 6、实体类中的属性名和表中的字段名不一样,怎么办? 8、编写模糊查询like语句 9、Dao接口的工作原理 10、Mybatis分页原理 11、Mybatis的映射形式 12、使用MyBatis的mapper接口调用时有哪些要求? 13、resultType与resultMap的区别 14、在mapper中如何传递多个参数? 15、Mybatis的Executor执行器 16、Mybatis的动态sql 17、Mybatis的关联查询和实现方式以及区别 18、Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系 19、Mybatis的接口绑定以及其实现方式 20、Mybatis缓存 21、Mybatis延迟加载 22、Mybatis的基本工作流程 23、Mybatis实行一对多的操作方式 24、Mybatis实行一对一的操作方式 1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能

.NET(C#)有哪些主流的ORM框架

拈花ヽ惹草 提交于 2020-01-14 02:09:13
前言 在以前的一篇文章中,为大家分享了《 什么是ORM?为什么用ORM?浅析ORM的使用及利弊 》。那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper,Entity Framework(EF)还是ServiceStack.OrmLite? 或者是你还有更好的ORM推荐呢? 如果有的话,不防也一起分享给大家。 .NET(C#)主流ORM总揽 今天这篇文章分享几款收集的目前.NET(C#)中比较流行的ORM框架,比如(以下框架均为开源框架,托管于github上): SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framework (EF) (国外) NHibernate (国外) ServiceStack/ServiceStack.OrmLite (国外) linq2db (国外) Massive (国外) PetaPoco (国外) SqlSugar SqlSugar是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4.+ & .NET CORE的高性能、轻量级 ORM框架,众多.NET框架中最容易使用的数据库访问技术。 特点: 开源、免费 国内开发者开发、维护; 支持.NET Core; 支持主流数据库,如:SQL Server

ORM PHP 学习记录

喜夏-厌秋 提交于 2020-01-14 01:44:12
ORM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数据库。 举个例子:获取一篇文章,传统的方式先要执行一个sql检索数据 select * from post where id = 1 然后输出标题和内容使用 echo $post['title']; echo $post['content']; 上面的代码遇到面向对象强迫症者,他们会纠结死的。 所以他们想出了这个东西,在ORM里获取一篇文章可以这样: $post = postTable::getInstance()->find(1);#会再内部执行select * from post where id = 1 然后输出: echo $post->getTitle(); echo $post->getContent(); 妈妈再也不用担心我的强迫症了^_^ 高级点的应用,文章和分类是一对多关系、文章和标签是多对多关系 $cate = $post->getCategory(); //获取文章分类 echo $cate->getName(); //获取分类名 $tags = $post->getTags(); /