
数据库类
liuwei1206
PhD student.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
oracle中数据导入导出问题
在日常生活中,我们有时难免要对一些系统进行移植,移植的时候,数据库中的数据问题就需要在不同的服务器上移动,这时就涉及到数据的导入导出问题,这里我给大家介绍一些oracle数据的导入和导出问题。oracle数据库数据的导入导出需要依赖于PLSQL工具(用sqlplus语句当然也可以,但是前者更简单些),选择相应的用户名和数据库登录到PLSQL中,在tool目录下有export tab原创 2016-11-13 16:41:04 · 948 阅读 · 0 评论 -
mysql使用笔记
mysql语法: 1.show databases; 显示已经创建的数据库;2.create database dbName; 创建数据库,名字为dbName;3.use dbName; 使用名字为dbName的数据库;4.create table tableName(id int,name varchar(12)); 在dbName数据库中创建表tableName;5....原创 2017-08-24 21:35:40 · 354 阅读 · 0 评论 -
用exists代替distinct
我们用数据库进行一些查询时,可能需要对结果进行去重复,一般我们都是想到distinct,但是为了提高效率我们应该尽量用exists,下面我将举例分析。我们假设有一张公司员工表staffs和一张部分表depts,其中员工表中包含字段dp_id,也就是部分编号,depts表中包含dp_id和dp_name,分别表示部门和部分名字。我们现在要做的就是,找到这张员工表中涉及到的部门id和部门名字。用dis...原创 2016-12-15 21:09:07 · 11177 阅读 · 4 评论 -
mybatis中SqlSession一定要关闭
今天在使用mybatis查询数据时,出现了一个很奇怪的问题。同一条sql语句,查询时快时慢,并且有一定的规律性,大概每10次查询中有一次会特别特别的慢,快的只需要1ms,慢的要20000ms,sql代码及快慢时间截图如下:select fknr from jq_fkqk where jjxh = ?快的情况: 慢的情况: 通过日志打印mybatis查询信息时,我观察到原创 2018-01-20 20:57:37 · 33139 阅读 · 14 评论 -
spring-boot中使用druid连接池
最近因为项目的要求,需要在spring-boot中配置druid连接池,数据库是Oracle,并且是多数据源的连接池,特地写下我的配置经历。 用的框架是spring-boot,数据库是oracle,数据库操作用的是mybatis,数据库连接池用的是druid。(一)spring和spring-boot spring-boot相对于spring的改变就是:spring-boot基原创 2018-02-03 13:20:31 · 2035 阅读 · 0 评论 -
jdbc原子事务的实现
在实际业务中,我们常常能够遇到一些需求,这个需求中有数个操作,要所有操作都成功完成了这个需求才实现了,这就是原子性事务。比如说,银行交易,转账过程包括转账者钱的数量扣除和接受者钱的数量增加,要同时完成才能算转账成功,不允许只完成一部分。jdbc实现原子事务的过程主要是通过手动控制提交(commit)来实现的,在一次提交过程中将所有需要的操作都准备好,然后一次性提交到数据库中,如果中间某一个原创 2017-04-22 10:38:37 · 590 阅读 · 0 评论 -
jdbc批量操作
有时候我们需要执行一连串的插入或者修改或者删除操作(注意select不能批量操作)。如果我们一个一个的执行,就需要多次访问数据库,效率很低,所以我们就可以考虑批量操作。批量操作就是将多个增删改的sql语句添加到preparedStatement中,然后再让preparedStatement调用executeBatch一次性进行所有的操作。下面我以一个插入函数为例,每次插入5000条: publ原创 2017-04-22 10:26:12 · 718 阅读 · 0 评论 -
oracle中sequence详解
在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。本文我们主要介绍了序列的用法,希望能够对您有所帮助。在Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用转载 2016-12-18 10:49:40 · 10801 阅读 · 0 评论 -
本地计算机用plsql访问虚拟机中的oracle数据库
这几天正在做一个测试,需要本地电脑在host-only模式下连接虚拟机中的oracle数据库,下面我给大家讲一下执行步骤:1.在虚拟机中安装好oracle数据库之后(本人安装的是oracle11g),找到listener.ora和tnsnames.ora这两个文件。然后打开cmd,用ipconfig命令查看虚拟机的ip地址。然后将listener.ora和tnsnames.ora文件中所有的l原创 2016-12-02 22:12:28 · 14242 阅读 · 0 评论 -
oracle listener启动问题
本地计算机上的OracleOraDb11g_TNSListener服务启动后停止。某些服务在未有其他服务或程序使用时将自动停止。原创 2016-12-12 09:00:27 · 1520 阅读 · 0 评论 -
The Network Adapter could not establish the connection解决
本人最近在移植虚拟机,因为可以方便的移植里面的数据库。移植完系统之后,在新的电脑上面,用以前的代码再次访问虚拟机中的Oracle数据库时出现一下错误:The Network Adapter could not establish the connection我先检查了虚拟里中数据库的监听文件的配置,发现监听的的确是虚拟机ip,没有错误。再查看Net Manager,发现也是监听虚拟机的原创 2017-03-19 11:48:40 · 17024 阅读 · 0 评论 -
oracle中表空间详解
oracle与其他数据库不同的地方就是表空间设计。表空间可以将oracle数据库划分为多个逻辑区域,这有点像MySQL中的create database的感觉。在一个oracle数据库中能够有一个或多个表空间,而一个表空间对应一个或多个物理的数据库文件。表空间是oracle数据库恢复的最小单位,容纳这许多数据库实体,如表,视图,索引,聚簇,回退段和临时段等。每一个oracle数原创 2016-11-13 15:41:59 · 2267 阅读 · 0 评论 -
oracle数据库中could not get next sequence value的解决
在使用hibernate保存数据的时候,出现了could not get next sequence value这个错误,这个错误的意思就是找不到序列中的下一个值。解决这个问题具体按如下分析:1.确定主键生成策略找到相应的表的主键generator class类别,具体到相应的表的.hbm.xml文件中找,然后可以看看我的另一篇文章,判断它用到的主键策略类别是否需要指明sequence。如原创 2016-12-18 11:56:02 · 9137 阅读 · 0 评论 -
hibernate中主键的生成策略
1、assigned主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。generator class="assigned" />“ud转载 2016-12-18 11:23:57 · 2767 阅读 · 0 评论 -
hibernate中createQuery和createSqlQuery
1.createQuery和createSqlQuerycreateQuery查询用的是hql,以hibernate生成的bean为对象装入list中返回。createSqlQuery查询用的是sql,以以对象数组进行返回。2.hql和sqlsql:面向数据库表查询hql:面向对象查询sql:from后面跟的是表名 where后面用的表中的字段做条件判断hql:原创 2016-12-23 09:33:30 · 920 阅读 · 0 评论 -
C++中序列化对象并存储到mysql
1.序列化C++序列化存在多种方式,我这里使用的boost,推荐看一个简单的教程。boost方法就是在类定义中添加一个友元类对象,并实现serialize()方法就可以让该类变为可序列化类。要使用boost序列化首先需要去boost官网下载相应的boost文件,然后需要include两个头文件,包括#include <boost\archive\text_oarchive.hpp> ...原创 2017-04-26 15:31:33 · 1800 阅读 · 0 评论