数据库接口

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

MyBatis 源码分析-项目总览

筅森魡賤 提交于 2020-03-12 02:43:33
MyBatis 源码分析-项目总览 1.概述 本文主要大致介绍一下MyBatis的项目结构。 引用参考资料《MyBatis技术内幕》 此外, https://mybatis.org/mybatis-3/zh/index.html MyBatis官方也提供了很不错的中文文档。对于使用中有碰到一些问题,可以参考一下。 2.模块划分 MyBatis在项目模块划分还是很清晰的。各个模块层次以及具体作用,如下: 模块 层次 定义 session 接口层 提供给外部使用的接口API scripting 核心处理层 解析映射文件中的动态SQL节点。并形成数据库可执行的SQL语句。 mapping 核心处理层 映射 builder 核心处理层 配置解析 executor 核心处理层 执行器模块,串联整个执行流程。 plugin 核心处理层 插件模块:提供插件接口,通过自定义插件方式对MyBatis进行拓展 cursor 核心处理层 游标模块 reflection 基础支持层 反射模块:mybatis专门对反射模块进行封装。提供更加简单易用的API type 基础支持层 类型转换模块:Mybatis为简化配置提供了别名机制。提供java类型与JDBC类型转换 logging 基础支持层 日志模块:主要是集成第三方日志 io 基础支持层 资源加载模块:对类加载器进行了封装。确定类加载器顺序

Data Source与数据库连接池简介 JDBC简介(八)

爷,独闯天下 提交于 2020-03-09 07:49:12
DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法。 起源 为何放弃DriverManager DriverManager负责管理驱动程序,并且使用已注册的驱动程序进行连接。 //1、注册驱动 Class.forName("com.mysql.jdbc.Driver"); //数据库连接所需参数 String user = "root"; String password = "123456"; String url = "jdbc:mysql://localhost:3306/sampledb?useUnicode=true&characterEncoding=utf-8"; //2、获取连接对象 Connection conn = DriverManager.getConnection(url, user, password); 使用DriverManager的一般形式如上面代码所示 直接使用DriverManager的这种形式,通常需要将驱动程序硬编码到项目中(JDBC4.0后可以自动注册驱动程序) 而且最重要的是DriverManager的getConnection方法获取的连接,是建立与数据库的连接,是建立与数据库的连接,是建立与数据库的连接。 但是建立与数据库的连接是一项较耗资源的工作

接口地址与配置表设计参考

帅比萌擦擦* 提交于 2020-03-05 22:47:48
接口地址信息可存放于数据库配置表中,后台调用接口,可以直接从数据库中读取接口地址 表设计参考如下: 本表中DEV_CONFIG_VALUE、SIT_CONFIG_VALUE、PRD_CONFIG_VALUE分别代表开发、测试和生产环境配置,我所在项目在接口地址这里,并未用到三个字段 值演示: 后台可以设计工具类,采用静态方法从配置表中取接口地址,只需要根据CONFIG_KEY取值CONFIG_VALUE即可,对于开发、测试、生产环境,需要手动初始化接口地址,即CONFIG_VALUE分别为对应的开发、测试和生产环境的接口地址。 来源: https://www.cnblogs.com/alphajuns/p/12422906.html

关于JDBC

为君一笑 提交于 2020-03-05 20:36:20
一、JDBC是什么 JDBC的全称是Java DataBase Connection,也就是Java数据库连接,用它来操作关系型数据库。JDBC接口让Java程序和JDBC驱动实现了松耦合。 二、JDBC操作数据库的步骤: 1,注册数据库驱动; 2,建立数据库连接; 3,创建一个statement; 4,执行SQL语句; 5,处理结果集; 6,关闭数据库连接。 建立数据库连接的jar包 mysql-connector-java-5.1.37-bin.jar ojdbc6.jar 三、statement、praparedStatement、CallableStatement的区别 statement: 取Statement接口的实例化对象需要依靠Connection接口提供的方法, 取得statement接口对象后可以实现以下两个操作: • 数据更新:int executeUpdate(String sql)throws SQLException 返回更新行数 • 数据查询:ResultSet executeQuery(String sql)throws SQLException sql语句是完整的。 preparedStatement: sql语句是不是完整的,可以将参数用?替代,然后在预编译后加入未知参数。在执行可变参数的一条SQL时

跨数据库服务器查询和跨表更新

梦想与她 提交于 2020-03-04 13:39:01
一.摘要 本文通过实际业务场景讲解如何实现跨数据库服务器的数据查询, 以及跨表更新的SQL语法. 二.业务场景 想实现的功能很简单, 在我的本地一个表用来保存省的信息: T_Province 在另外一台服务器上也有一个保存省的表province,其中有我本地没有的provience_name_en和provience_id信息.我希望将它们保存到我的表中. 虽然用程序很容易实现,但是我觉得如果能直接操作数据库的话将更简单,而且还能学习到跨服务器查询的知识. 三.准备工作 首先我在本地 T_Province 表中添加了 ProvinceNameEn 和 ProvinceId 两个字段.接下来就要想办法为这两个字段填充数据. 四.跨服务器查询 首先需要解决跨服务器查询的问题. 先来看我的最终实现: --创建链接服务器 exec sp_addlinkedserver @server= 'SQL2', @srvproduct= '', @provider='SQLNCLI', @datasrc = '192.168.9.123' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'SQL2', @useself = 'false ', @locallogin = null, @rmtuser ='sa', @rmtpassword =

Spring使用JDBC访问MySQL数据库

♀尐吖头ヾ 提交于 2020-03-03 01:07:19
在Java应用程序开发中,使用JDBC访问MySQL数据库是Java开发者常用的技术。在Spring框架中,Spring对JDBC又进行了封装,简化了程序访问数据库的复杂度。本课主要讨论在Spring框架中如何使用封装的JDBC访问MySQL数据库。通过本课的学习,可以解决如下问题。 ● 在Spring框架下,如何让程序连接数据库? ● 如何利用DAO技术从数据源读取和写入数据? 企业级应用开发都会涉及到对数据库的访问,在Java编程环境中,访问数据库是非常繁琐的事情,需要编写启动数据库连接、准备和执行SQL语句、处理事务和异常、关闭连接等大量数据库操作代码。 使用Spring框架可以简化Java程序对数据库的访问,Spring提供了一套完整的数据库访问框架,用于简化各种数据库访问技术的使用。Spring框架支持JDBC、Hibernate、Java Perssitence等数据库访问技术,本文主要讨论JDBC数据库访问技术。 1、 配置数据源 要让Spring能够访问数据库,就要把数据库的位置,以及访问数据库的账号和密码告诉Spring。这个过程称为配置数据源。Spring提供了多种方式配置数据源,下面主要讨论基于JDBC驱动方式配置数据源。 Spring提供的JDBC驱动提供了三类数据源的配置方式,开发者可以根据程序需要选择不同的配置方式,配置方式及其配置说明如下表所示。 表1

JDBC的工作原理

旧巷老猫 提交于 2020-03-02 14:48:59
JAVA接口:是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现, 因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 通过接口可以实现不相关的类的相同行为. 通过接口可以指明多个类需要实现的方法. 通过接口可以了解对象的交互方法而不需要了解对象所对应的类. JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。 三.JDBC组成: JDBC有两部分组成:JDBC API和JDBC Driver Interface. JDBC API:是提供给开发者的一组独立于数据库的API,对任何数据库的操作,都可以用这组API来进行.那么要把这些通用的API翻译成特定数据库能懂的"指令",就要由JDBC Driver Interface来实现了; JDBC Driver Interface 是面向JDBC驱动 程序开发 商的 编程 接口,它会把我们通过JDBC API发给数据库的通用指令翻译给他们自己的数据库. 为了使客户端程序独立于特定数据库驱动程序

Java Web----Java Web的数据库操作(一)

≡放荡痞女 提交于 2020-03-02 06:26:11
Java Web的数据库操作 一、JDBC技术 1、JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与数据库系统之间假期了一座桥梁。 JDBC由一组用Java语言编写的类和接口组成,它对数据库的操作提供了基本方法,但由于数据库种类跟多且多有不同,所以对数据库的细节操作由数据库厂商进行实现,且厂商需要提供数据库的驱动程序,下图为Java程序与数据库相交互的示意图: 2、JDBC连接数据库的过程 l 下载驱动包 在JDK中,不包含数据库的驱动程序,使用JDBC操作数据库需要实现下载数据库厂商提供的驱动包,并导入到开发环境中。 l 注册数据库驱动 连接数据库前,需要将数据库厂商提供的数据库驱动注册到JDBC的驱动管理器中,一般是通过将数据库驱动类加载到JVM来实现的,例如连接MYSQL数据库: Class.forName(“com.mysql.jdbc.Driver”); l 构建数据库连接URL URL由数据库厂商制定,不同数据库它的URL有所区别,但都符合一个基本的格式,即“JDBC协议+IP地址或域名+端口+数据库名称”,例如MYSQL数据库为”jdbc:mysql://localhost:8080/test”。 前两步中不同数据库有所差别

Java Web 学习笔记(8)

笑着哭i 提交于 2020-02-29 22:15:32
JDBC Java DataBase Connectivity是一个独立于特定数据库的管理系统,通用的SQL数据库存取和操作的公共接口。 定义了一组标准为访问不同数据库提供了统一的途径。 JDBC体系结构 JDBC接口包括两个层面: 面向应用的API,供程序员调用 面向数据库的API,供厂商开发数据库的驱动程序 JDBC API 提供者:Java官方 内容:供开发者调用的接口 java.sql和javax.sql DriverManager类 Connection接口 Statement接口 ResultSet接口 DriverManager 提供者:Java官方 作用:管理不同的JDBC驱动 JDBC驱动 提供者:数据库尝试 作用:负责连接不同的数据库 JDBC的使用 1、加载数据驱动,java程序和数据库之间的桥梁。 2、获取Connection,java程序与数据库的一次连接。 3、创建Statement对象,由Connection产生,执行SQL语句 4、如果需要接收返回值,创建ResultSet对象,保存Statement执行之后所查询到的结果 package com.janeroad.test; import java.sql.*; import java.util.Date; public class Test { public static void main