之前写过一篇文章专门分析了 c++ 模板编译过程中报的一个错误:<fatal error C1045: 编译器限制 : 链接规范嵌套太深 >,其中涉及到了 qtl -- 一个使用 c++ 11 构建的数据库访问库,当时限于篇幅,没有深入研究它是如何借助 c++ 11 来简化数据库访问接口的,本文现在就来探讨一下这方面的内容. 没有 c++ 11 之前,苦逼的程序员对于 sql 操作的输入输出,只好一行行敲代码,例如在调用数据库接口前设置绑定参数:在调用成功后,循环遍历查询的记录.很多时候数据库…
数据库访问接口发展历史 ODBC历史 ODBC(Open Database Connectivity,开放数据库互连).要了解ODBC是什么,先了解一下数据库连接的相关知识.在最开始连接数据库时,由于数据库种类繁多,各种数据库连接有不同的需求,这个时期,数据库连接主要依靠各种API函数来进行连接.在这种背景下,微软于1992年发表了ODBC, ODBC就是将这些API函数封装起来形成统一的接口.当SQL语句进入接口后,驱动器管理程序将它们送入对应的驱动器(driver),由驱动器将SQL语句送入…
ODBC API 实现数据库操作的手段是句柄.在ODBC中,使用不同的句柄(HANDLE)来标志环境(environment).连接(Connection).语句(statement).描述符(description)等.句柄是一个应用程序变量,系统用它来存储关于应用程序的上下文信息和应用程序所用到的一些对象. 1.1.1      环境句柄环境是存取数据的全局性背景,与环境相关的是全局的所有信息.例如:环境状态.当前环境状态诊断.当前在环境上分配的连接句柄.每个环境属性的当前设置. 在实现OD…
最近在学C#的数据库编程,对于数据库接口技术这块的知识一直比较模糊,网上查了不少资料,看了几天还是朦朦胧胧的,只能做些笔记再研究了. 我们都知道,“数据库”是指一组相关信息的集合,最早的计算机应用之一也是开发数据库系统,即通过计算机来存储和检索数据的机制. 在数据库发展的前几十年里,数据以各种不同的方式存储并展现给用户,比如:层次数据库.网状数据库,这些都是非关系数据库. 直到1970年,才出现了“关系模型”,借助冗余数据来链接不同表中的记录,关系数据库中的每张表都包含一项作为每行唯一标识的信息…
一.背景 Spring boot是集服务发布.数据库管理.日志管理等于一身的服务开发框架:是微服务开发的全能小帮手.这章讲述一下如何使用spring boot访问MySQL数据库. 二.搭建基础环境 1.安装maven(指导文档 网上一搜一大堆). 2.在eclipse中创建maven项目. 3.在pom.xml配置连接spring boot的仓库.依赖部分的配置如下: <parent> <groupId>org.springframework.boot</groupId&g…
从11.2.0.2开始,数据库补丁包是一个完整安装包.也就是说:比如要打11.2.0.2的补丁包,直接用11.2.0.2包来安装就可以了,不需要像10G一样先安装数据库软件再来打补丁包. 如果已经安装了11.2.0.1的用户也可以像10G一样打补丁包,也可以把11.2.0.2安装到新目录,安装好以后,再把老的数据库数据迁移过去.oracle说的“In-Place Upgrade与Out-of-Place Upgrade” 还有下载补丁包的时候要注意一点是,分7个包,每个包包含不同的应用系统: I…
Spring的开发初衷是为了减轻企业级开发的复杂度,其对数据库访问的支持亦如此,使用Spring访问数据库能带来以下好处: 1.1     简化代码 使用原生的JDBC访问数据库,一般总是要执行以下步骤: 1)         获取数据库资源,例如连接等: 2)         准备并执行SQL,并处理返回结果 3)         释放数据库资源 4)         处理上述所有步骤出现的异常,处理异常的过程中也要捕获异常 典型的代码结构如下: public TestObj queryTes…
昨天南京到客户服务数据库的优化调整,其中新上线,经过审查alert.log当日志现在是在过去一段时间内取得,每隔几个小时的时间滞后,班会报似的内容: Thu Aug 21 09:01:26 2014 WARNING: Heavy swapping observed on system in last 5 mins. pct of memory swapped in [8.42%] pct of memory swapped out [2.16%]. Please make sure there…
(12)案例----数据库访问JavaBean的设计 例题:数据库操作在一个Web应用程序中的后台处理中占有大比重,设计一组JavaBean封装数据库的基本操作供上层模块调用,提高程序的可移植性. [分析]:假设操作的数据库名是test,表格是user(userid.username.sex),封装的基本操作包括记录的添加.修改查询全部.按userid查找用户.按userid删除用户 [设计]需要设计以下组件 1.数据库test及其数据库表userUtil.java 2.在类路径(src)下建立…
本篇随笔是上两篇的延续:三种数据库访问——原生JDBC:数据库连接池:Druid Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简化JDBC编程 Spring提供了3个模板类: JdbcTemplate:Spring里最基本的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问. NamedParameterJdbcTemplat…