java连接3种数据库 JdbcLinkDB --201801
先看这篇记录
java连接3种数据库 JdbcLinkDB 测试 --201801 配置文件放在jar外面 读取,遇到的问题 - 海蓝steven - 博客园
https://www.cnblogs.com/rogge7/p/8269842.html
//-------------------------------
需求:
1、同时测试 mssql,mysql,oracle 三种数据库
2、jar包的形式,配置文件在jar包外面,随时修改
需要找到连接这三个数据库的驱动jar包,添加到项目中
过程:
刚开始不小心打包成jar包 运行jar 提示以下异常:
改成:把项目打包成 Runnable jar,选择主函数入口
运行成功,文件结构如下,考过去使用,Jdk1.8.0_102
一些文件:
start.bat 文件
java -version
java -jar JdbcLinkDB.jar
pause
jdbcCon.properties文件
# connect oracle
#driver = oracle.jdbc.driver.OracleDriver
#url = jdbc:oracle:thin:@localhost::orcl
#username = system
#password = # connect mssql
#driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
#url = jdbc:sqlserver://127.0.0.1:1433;DatabaseName=GpsDB
#username = sa
#password = # connect mysql
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://121.12.249.239:14015/fsjxbdb1
username = fsjxbadmin
password = fsjxbadmin!
package com.chanbo.yy; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties; /**
* @author
*
*/
public class ConnectionFactory {
/**
* 数据库连接类
*/ //数据库驱动程序类名
private static String DRIVER = "";
//连接数据库的URL
private static String URL = "";
//连接数据库的用户名
private static String USERNAME = "";
//连接数据库的密码
private static String PASSWORD = ""; private ConnectionFactory(){
} static{
getPropertiesInfo();
} /**
* 该方法用来获得属性文件中的driver、url、username、password
*/
private static void getPropertiesInfo(){
Properties prop = new Properties(); // InputStream inStream = Thread.currentThread().getContextClassLoader()
// .getResourceAsStream("jdbcCon.properties");
// InputStream inStream = this.getClass().getResourceAsStream("/jdbcCon.properties");
//FileInputStream aa ; try{
//获得相应的键值对
// prop.load(inStream);
prop.load(new FileInputStream("jdbcCon.properties"));
// prop.load(aa); }catch(IOException e){
e.printStackTrace();
} //根据相应的键获得对应的值
DRIVER = prop.getProperty("driver");
URL = prop.getProperty("url");
USERNAME = prop.getProperty("username");
PASSWORD = prop.getProperty("password"); } /**
* 该方法用来加载驱动,并获得数据库的连接对象
*
* @return 数据库连接对象conn
*/
public static Connection getConnnection(){
Connection conn = null;
try{
//加载数据库驱动程序
Class.forName(DRIVER);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
System.out.println("-- 连接URL : "+URL);
//获得数据库连接对象
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
System.out.println("-- 连接成功"); }catch(SQLException e){
System.out.println("-- 连接失败");
e.printStackTrace();
} return conn;
}
}
ConnectionFactory.java
/**
*
*/
package com.chanbo.yy; import java.sql.Connection;
import java.util.Scanner; /**
* @author yanfazhongxin
*
*/
public class LinkOracleTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = ConnectionFactory.getConnnection();
DbClose.close(conn);
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
} }
LinkOracleTest .java
package com.chanbo.yy;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* @author
*
*/
public class DbClose {
/**
* 数据库关闭类
*/
/**
* 关闭数据库连接
* @param conn 连接类对象
*/
public static void close(Connection conn){
if(null != conn){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
} /**
* 关闭数据库语句
* @param stmt 语句对象
*/
public static void close(PreparedStatement pre){
if(null != pre){
try{
pre.close();
}catch(SQLException e){
e.printStackTrace();
}
}
} /**
*关闭数据库结果集
* @param rs 结果集对象
*/
public static void close(ResultSet rs){
if(null != rs){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
} public static void close(ResultSet rs,PreparedStatement pre,Connection conn){
close(rs);
close(pre,conn);
}
public static void close(PreparedStatement pre,Connection conn){
close(pre);
close(conn);
System.out.println("数据库已关闭!");
}
}
DbClose.java
java连接3种数据库 JdbcLinkDB --201801的更多相关文章
- java连接sql server数据库(使用用户sa)
一.安装数据库相关软件 sql server management studio是管理sql server数据库的软件,想要使用需到微软官网下载安装sql server,然后再安装sql server ...
- Java 连接MS Access数据库
java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来 ...
- Java 连接、操控数据库总结(JDBC)
看到数据库连接不由得想起了大一末参加团队考核时的悲催经历~~,还记得当初傻傻地按照书本的代码打到 Eclipse 上,然后一运行就各种报错...报错后还傻傻地和书本的代码一遍又一遍地进行核对,发现无误 ...
- Java连接SqlServer 2008数据库
将sqljdbc4.jar包添加到工程 连接SqlServer 2008数据库 import java.sql.Connection; import java.sql.DriverManager; i ...
- Java连接Oracle/MySQL数据库教程
一.下载 oracle java驱动下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090 ...
- 关于Java连接SQL Sever数据库
1.前提条件 需要: 1>本机上装有SQL Sever数据库(2005.2008或者更高版本) 2>eclipse或者myeclipse开发环境 3>jar文件(名为sql_jdbc ...
- java连接sql server数据库
1.新建项目,导入包 sqljdbc4.jar或sqljdbc.jar(jdk1.7版本) 2.新建类文件ConnectionDB.java package hello; import java.s ...
- JAVA连接、操作数据库的DBHelper
工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...
- Java连接本地MySQL数据库进行增删改查操作
package Dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStat ...
随机推荐
- 使用 canvas 画图时图像文字模糊的解决办法
最近在使用 canvas 画图的时候,遇到了图像文字模糊的问题,解决思路就是根据分辨率创建不同尺寸的画布.以下是创建高分辨率画布的代码: /** * 创建高分辨率画布 * @param w 画布宽 * ...
- 教你如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)
免责声明: 在根据本教程进行实际操作时,如因您操作失误导致出现的一切意外,包括但不限于路由器变砖.故障.数据丢失等情况,概不负责: 该技术仅供学习交流,请勿将此技术应用于任何商业行为,所产生的法律责任 ...
- SpringCloud-Ribbon服务调用(三)
SpringCloud-Ribbon服务调用(三) https://www.cnblogs.com/qdhxhz/p/9568481.html 一.商品中心服务端 创建商品中心服务端:服务提供方(被调 ...
- JS学习笔记:(三)JS执行机制
首先我们先明确一点:JavaScript是一门单线程语言.单线程也就是说同一时间只能执行一个任务,所有的任务都必须排队顺序执行.那么如果一个任务耗时很长,阻塞了其它任务的执行,就会给用户造成不友好的体 ...
- MT 互联网 面试标准
能力模型 业务理解(每项2分) java知识(每项2分) 网络知识(每项1分) 设计模式(每项3分) 数据库知识(每项2分) 框架知识(每项1分) 数据结构与算法(每项1分) 架构知识(每项3分) 操 ...
- 2019-04-29 EasyWeb下配置Atomikos+SQLServer分布式数据源
初次尝试: 配置Mysql时候使用的是Atomikos+DruidXADataSource,所以觉得配置SQLServer应该也是仅仅配置配置就够了,于是引入JDBC驱动依赖后,配置了文件 sprin ...
- Python——代码汇总
1.三级菜单 2.Windows启动服务 3.常用的Python实现 4.字典的基本操作
- 调用webservice帮助类
using System;using System.CodeDom;using System.CodeDom.Compiler;using System.Collections.Generic;usi ...
- C语言函数-socket
int sock = socket(AF_INET, SOCK_STREAM, 0) //建立一个流式套接字,stream是流的意思,Tcp连接,提供序列化的.可靠的.双向连接的字节流.支持带外数据传 ...
- gogs git代码管理
Gogs 是一个基于 Go语言的开源的 Git 服务端.非常轻量,安装也很简单.官网https://gogs.io/docs/installation/install_from_binary 下载后解 ...