数据库

@MappedSuperclass注解的使用说明

喜夏-厌秋 提交于 2020-03-19 07:01:18
基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解仅仅能标准在类上:@Target({java.lang.annotation.ElementType.TYPE}) 2.标注为@MappedSuperclass的类将不是一个完整的实体类,他将不会映射到数据库表,可是他的属性都将映射到其子类的数据库字段中。 3.标注为@MappedSuperclass的类不能再标注@Entity或@Table注解,也无需实现序列化接口。 可是假设一个标注为@MappedSuperclass的类继承了另外一个实体类或者另外一个相同标注了@MappedSuperclass的类的话。他将能够使用@AttributeOverride或 @AttributeOverrides注解重定义其父类(不管是否是实体类)的属性映射到数据库表中的字段。 比方能够重定义字段名或长度等属性。使用@AttributeOverride中的子属性@Column进行详细的定义。 注意:对于其父类中标注@Lob注解的属性将不能重载,而且@AttributeOverride里的@Column设置都将不起作用。 JPA规范中对@Lob注解并没有说明不能同一时候标注@Column注解

Oracle数据库学习第一天

℡╲_俬逩灬. 提交于 2020-03-19 04:56:37
crud 增删改查 create read update delete 1--oracle数据库的安装 系统默认创建两个用户 sys和system 密码自定义 超级管理员:sys 管理员:system 密码:5615 2--启动数据库的服务 service listener 3--访问数据库 使用oracle自带的客户端工具sqlplus(前提条件:在path中添加D:\oracle\app\oracle\product\11.2.0\server\bin) wind+R键 打开运行窗口 输入:sqlplus 回车 提示要求输入用户名和密码 sys和密码 不能直接登录数据库 system和密码 可以直接登录数据库 说明:这种方式只能以普通用户身份登录 如果要以sys登录数据库 wind+R键 输入 sqlplus sys/5615 as sysdba; 回车 查看当前用户的登录名 show user; 回车 4--启动与关闭数据库 关闭数据库: shutdown immediate; 启动数据库: startup open; sys可以启动和关闭数据库 system 没有这个权限 5--数据库用户的操作 sys创建用户: create user owen identified by 123; 用户创建之后默认情况是被锁住的,并且是没有分配角色的,需要对用户解锁 alter user

loadrunner参数化使用mysql数据源失败解决方法

∥☆過路亽.° 提交于 2020-03-19 04:54:48
操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读: loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库 --> 数据库操作 ---> 关闭数据库 1、打开数据库 a、数据库服务器地址/IP b、数据库服务器访问用户和密码 c、数据库服务器中的数据库名称 d、开始连接数据库 2、数据库操作 增删改查 3、所有的操作都做完后,一定要关闭数据库。 说明一下,因为 lr 有很多库文件都没有,所以需要额外的从外部下载 公共库,并放到相应的位置。 ---------------------------------------------------------------------------------------------------- 1、库文件下载地址: MySQL_LoadRunner_libraries.zip 将 .h文件 都放在 lr安装目录中的 include 文件夹中, .dll 放在 bin 目录中 2、vuser_init #define MYSQLSERVER "172.18.0.11" #define MYSQLUSERNAME "root" #define MYSQLPASSWORD "123456" #define MYSQLDB "test" #define MYSQLPORT

JDBC

旧巷老猫 提交于 2020-03-19 03:43:26
JDBC 一、JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user, String password) throws Exception; 该方法获得url对应的数据库的连接。 Connection 常用数据库操作方法: Statement createStatement throws SQLException: 该方法返回一个Statement对象。 PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象, 即将SQL语句提交到数据库进行预编译。 CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象, 该对象用于存储过程的调用。 上面的三个方法都是返回执行SQL语句的Statement对象

JDBC常用接口、类介绍

故事扮演 提交于 2020-03-19 03:36:04
JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user, String password) throws Exception; 该方法获得url对应的数据库的连接。 Connection 常用数据库操作方法: Statement createStatement throws SQLException: 该方法返回一个Statement对象。 PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象, 即将SQL语句提交到数据库进行预编译。 CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象, 该对象用于存储过程的调用。 上面的三个方法都是返回执行SQL语句的Statement对象,PreparedStatement

MongoDB数据类型

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-19 01:25:56
数据类型 基本数据类型   MongoDB的文件存储格式为BSON,同JSON一样支持往其它文档对象和数组中再插入文档对象和数组,同时扩展了JSON的数据类型.与数据库打交道的那些应用。例如,JSON没有日期类型,这会使得处理本来简单的日期问题变得非常繁琐。只有一种数字类型,没法区分浮点数和整数,更不能区分32位和64位数字。也没有办法表示其他常用类型,如正则表达式或函数。   下面是MongoDB的支持的数据类型: null null用于表示空值或者不存在的字段。 {"x":null} 布尔 布尔类型有两个值'true'和'false1'. {"X":true} 32位整数 类型不可用。JavaScript仅支持64位浮点数,所以32位整数会被自动转换。 64位整数 不支持这个类型。shell会使用一个特殊的内嵌文档来显示64位整数, 64位浮点数 shell中的数字都是这种类型。下面的表示都是浮点数: {"X" : 3.1415926} {"X" : 3} 字符串 UTF-8字符串都可表示为字符串类型的数据: {"x" : "foobar"} 符号 不支持这种类型。shell将数据库里的符号类型转换成字符串。 对象id 对象id是文档的12字节的唯一 ID, {"X" :ObjectId() } 日期 日期类型存储的是从标准纪元开始的毫秒数。不存储时区: {"X" : new

mysql实用操作

不打扰是莪最后的温柔 提交于 2020-03-19 00:51:15
1、查看数据库、表和列show SHOW databases; -- 显示数据库列表 SHOW tables; -- 显示当前选择的数据库内可用表的列表 SHOW columns FROM students; -- describe students; 显示表名为students的列 SHOW CREATE TABLE thetable;  -- 显示表thetable的建表语句   HELP SHOW; -- 显示允许的show语句SELECT user();    -- 显示当前用户名SELECT database();  -- 显示当前使用数据库DESC students;  --显示students表结构 2、使用正则表达式regexp SELECT * FROM product WHERE num REGEXP '^[0-9]{4}'; -- 查找产品号以连续4位数字开始的产品 3、拼接字段concat SELECT CONCAT(name,' (',age,')') from students 4、常用文本处理函数 函数 说明 Left()/Right() 返回串左/右边的字符 Length() 返回串的长度 Locate() 找出串的一个子串  LTrim()/RTrim() 去掉左/右边的空格 Upper()/Lower() 将串转化为大/小写 SubString(

mysql 查询正在执行的事务以及等待锁 常用的sql语句

青春壹個敷衍的年華 提交于 2020-03-19 00:20:08
使用navicat测试学习: 首先使用set autocommit = 0;(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚) 在打开一个执行update 查询 正在执行的事务: SELECT * FROM information_schema.INNODB_TRX 根据这个事务的线程ID(trx_mysql_thread_id): 从上图看出对应的mysql 线程:一个94362 (第二个正在等待锁)另一个是93847(第一个update 正在执行 没有提交事务) 可以使用mysql命令:kill 线程id 杀掉线程 期间如果并未杀掉持有锁的线程:则第二个update语句提示等待锁超时 查询mysql数据库中还可以使用: 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 查询mysql数据库中存在的进程 [sql] view plain copy select * from information_schema.`PROCESSLIST`(show processlist;) 概念: mysql中database、instance、session。

B+树索引

ぃ、小莉子 提交于 2020-03-19 00:18:19
结构上 B树中关键字集合分布在整棵树中,叶节点中不包含任何关键字信息,而B+树关键字集合分布在叶子结点中,非叶节点只是叶子结点中关键字的索引; B树中任何一个关键字只出现在一个结点中,而B+树中的关键字必须出现在叶节点中,也可能在非叶结点中重复出现; 性能上(也即为什么说B+树比B树更适合实际应用中 操作系统 的文件索引和 数据库 索引?) 不同于B树只适合随机检索,B+树同时支持随机检索和顺序检索; B+树的磁盘读写代价更低。B+树的内部结点并没有指向关键字具体信息的指针,其内部结点比B树小,盘块能容纳的结点中关键字数量更多,一次性读入内存中可以查找的关键字也就越多,相对的,IO读写次数也就降低了。而IO读写次数是影响索引检索效率的最大因素。 B+树的查询效率更加稳定。B树搜索有可能会在非叶子结点结束,越靠近根节点的记录查找时间越短,只要找到关键字即可确定记录的存在,其性能等价于在关键字全集内做一次二分查找。而在B+树中,顺序检索比较明显,随机检索时,任何关键字的查找都必须走一条从根节点到叶节点的路,所有关键字的查找路径长度相同,导致每一个关键字的查询效率相当。 (数据库索引采用B+树的主要原因是,)B-树在提高了磁盘IO性能的同时并没有解决元素遍历的效率低下的问题。B+树的叶子节点使用指针顺序连接在一起,只要遍历叶子节点就可以实现整棵树的遍历

(大数据工程师学习路径)第四步 SQL基础课程----创建数据库并插入数据

大城市里の小女人 提交于 2020-03-18 23:33:34
一、练习内容 1、新建数据库 首先,我们创建一个数据库,给它一个名字,比如“mysql_shiyan”,以后的几次实验也是对mysql_shiyan这个数据库进行操作。 语句格式为“CREATE DATABASE <数据库名字>;”,(注意不要漏掉“;”)因此具体命令为: CREATE DATABASE mysql_shiyan; 创建成功后输入命令“show databases;”(注意不要漏掉“;”)检查一下: 在大多数系统中,SQL语句都是不区分大小写的,因此以下语句是等价的: CREATE DATABASE name1; create database name2; CREATE database name3; create DAtabaSE name4; 但是出于严谨,而且便于区分保留字( 保留字(reserved word):指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。 )和变量名,我们把保留字大写,把变量和数据小写。 2、连接数据库 接下来的操作,就在刚才创建的mysql_shiyan中进行,首先要连接数据库,使用语句 “use <数据库名字>”: use mysql_shiyan 如图显示,则连接成功: 输入命令“show tables;”可以查看当前数据库里有几张表,现在mysql_shiyan里还是空的: 3、数据表 数据表