JDBC连接不同数据库(从基础来了解耦合)

JDBC连接不同数据库的实现步骤:

一、在Myeclipse或者Eclipse中新建JavaProject,命名:JDBCTest;

二、在src目录下新建类:JDBC.java,同时输入包名:com.jdbc,同时在src目录下新建                 jdbc.properties配置文件;

三、建立一个jar文件,将不同厂商的数据库驱动文件放置在此目录下;

四、右键点击驱动文件,点击 Build Path --> add class path ,此时在引用类库中会出现数据库       jar 包;

此时目录结构如下





作为程序猿,还是直接上代码较为实际!

jdbc.properties:



driver=com.mysql.jdbc.Driver

jdbcUrl=jdbc:mysql:://localhost:3306/test

user=root

password=root



JDBC.java:



package com.jdbc;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.Driver;

import java.util.Properties;

/**

* Driver是一个驱动接口,不同的数据库厂商必须提供实现的接口,才能获取数据源,

* 即用Driver的实现类对象来获取数据库的连接。

*/

class JDBC{

/**

* 此方法耦合度较高,分析原因如下:

*       1、加载数据库的驱动是写死的,即 mysql,不够灵活(...=new com.mysql.jdbc...);

*       2、数据库的用户名和密码也是直接写在代码中的,不便于修改;

*       3、数据库的 URL 也是写在代码中的,若需要更换数据库,不便于修改。

*/

public static void connTest01() throws Exception{

// 用mysql来实现Driver接口

Driver driver = new com.mysql.jdbc.Driver();

Properties properties = new Properties();

//mysql的用户名和密码,注意此时键的值必须是 user 和 password,可以看看帮助文档。

properties.put("user","root");

properties.put("password","root");

String URL = "jdbc:mysql://localhost:3306/test";

//Connection也是一个接口,记得导入包的时候导正确,是 java.sql.Connection包;

Connection conn = driver.connect( URL , properties );

System.out.println("Connection对象的测试一");

System.out.println(conn);

}

/**

* 此方法相对于上面的方法耦合度较低,将连接数据库的一些参数写入jdbc.properties文件

* 中,方便以后进行操作。

*/

public static void connTest02() throws Exception{

//运用输入流获取配置文件(下面一行代码运行时会有报错,忽视直接运行就可以了,当            //然,你也可以使用其他方法来加载配置文件)

InputStream is = getClass().getClassLoader().getResourceAsStream("jdbc.properties");

Properties properties = new Properties();

properties.load(is);

String driverClass = properties.getProperty("driver");

String URL = properties.getProperty("jdbcURL");

String user = properties.getProperty("user");

String password = properties.getProperty("password");

//运用反射来加载驱动,注意:需要强转,因为是Object类型。

Driver driver = (Driver) Class.forName(driverClass).newInstance();

Properties info = new Properties();

info.put("user", user);

info.put("password", password);

Connection conn = driver.connect(URL, info);

System.out.println("Connection对象的测试二");

System.out.println(conn);

}

/**

*  测试

* @throws Exception

*/

public static void main(String[] args) throws Exception {

//connTest01();

connTest02();

}

}



此代码可以直接运行。以上的例子主要是针对 mysql 数据库的,如果需要连接其他数据库,在jdbc.properties修改信息就可以了,而不必在代码里面修改相关的内容。

总结:刚开始写此博文的时候,运用的是JUnit4单元来测试的,就不需要main方法了,结果将博文中的代码拷贝到myeclipse中会报错,从“度娘”查询解决了2,3个小时,结果可能是JUnit4版本的问题,(也没换版本)最后只有用main方法来测试了。当然了,此博文的重点是连接不同数据库。



对于以上内容,若有异议,欢迎留言。

时间: 2024-12-28 15:02:22

JDBC连接不同数据库(从基础来了解耦合)的相关文章

Java基础102 完整的JDBC连接MySQL数据库和Oracle数据库的方法

本文知识点(目录): 1.jdbc连接MySQL数据库    2.jdbc连接Oracle数据库    3.附录[本文jdbc连接MySQL或Oracle数据库的全部代码(合起来,做对比)] 1.JDBC连接MySQL数据库 1.1.我用到的jar包 1.2.实例演示 MySQL建表语句 1 -- MySQL建表语句 2 create table user( 3 id number(5) primary key auto_increment, 4 account varchar(20) not

java jdbc 连接mysql数据库 实现增删改查

好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言编写的类和接口组成.JDBC为数据库开发者提供了一个标准的API,据此能够构建更高级的工具和接口,使数据库开发者能够用纯 Java API 编写数据库应用程序,而且可跨平台执行,而且不受数据库供应商的限制.

JDBC连接Oracle数据库

我记得大二的时候,我们上java课程,当时老师就说了JDBC这个东西,也没怎么好好学,直到现在,我也不直到JDBC是什么玩意,就知道这玩意可以从数据库提取数据,那么JDBC到底是什么呢? JDBC是Java DataBase Connectivity的缩写,含义意思是java数据库连接,不需要多解释了,我感觉! 那么我们如何去做这样子的一个连接呢?用过一次之后就会发现,其实很简单,记住几个步骤,还有就是导入必要的驱动包就可以了,下面是几个重要的步骤: 第一步,你的项目环境中必须要导入必要的数据库

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (

JAVA使用JDBC连接MySQL数据库 二(2)

本文是对 <JAVA使用JDBC连接MySQL数据库 二>的改进. 上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建.然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中. 而statment不需要传递一个sql语句参数,就能创建. 修改部分如下: public class DBHelper { String driver = &quo

使用JDBC连接MySQL数据库--典型案例分析(八)----实现员工数据的分页查询

转载请注明:http://blog.csdn.net/uniquewonderq 问题: 使用JDBC连接Mysql数据库,实现对Emp表数据的分页查询功能. 方案: 对于较大的数据量,通常采用分页查询的方式.不同的数据库产品有不同的数据库级的分页查询策略.例如:Oracle通常使用rownum的方式:而Mysql使用limit的方式. Oracle采用rownum和子查询实现分页查询,SQL语句如下, select * from (select rownum rn,empno,ename,jo

利用JDBC连接到数据库

利用JDBC连接到数据库一般需要几个步骤: 1.装载驱动程序. 2.建立连接. 3.发送和执行SQL语句. 4.释放资源 首先建立一个数据库: 脚本如下: 1 create database csdn; 2 use csdn; 3 -- 创建用户表 4 CREATE TABLE USERS 5 ( 6 ID INT(7) NOT NULL AUTO_INCREMENT, 7 NAME VARCHAR(50) , 8 PWD VARCHAR(50), 9 PHONE VARCHAR(50) , 1

java程序通过jdbc连接oracle数据库方法

1.  赋予scott用户连接权限:Grant connect to scott: 2.   在Myeclipse中新建java项目导入jdbc包(classes12.jar):        右键项目 bulid path -〉add external archives 选择classes12.jar 3.   新建java文件, lianxi01.java import java.sql.Connection; import java.sql.ResultSet; import java.s