jdbc连接oracle数据库
/**
* 通过改变配置文件来连接不同数据库
*/
package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.util.Properties; import org.junit.Test; public class JDBCTest0 { public Connection getConnection() throws Exception{
String driverclass = null;
String jdbcUrl = null;
String user = null;
String password = null; InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(in);
driverclass = properties.getProperty("driver");
jdbcUrl = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password"); Driver driver = (Driver)Class.forName(driverclass).newInstance();
Properties info = new Properties();
info.put("user",user);
info.put("password", password);
Connection connection = driver.connect(jdbcUrl, info); return connection; }
@Test
public void testGetConnection() throws Exception{ System.out.println(getConnection());
} }
/*** jdbc连接oracle数据库**/
1 package com.xykj.jdbc; import static org.junit.Assert.*;
import java.sql.*;
import java.util.Properties; import org.junit.Test; public class JDBCTest { /**
* Driver是一个接口:数据库厂商必须提供实现的接口,能从其中获取数据库连接。
* 1.加入oracle驱动
* 1>新建lib目录,复制粘贴jar包放入lib。
* 2>右键jar包,build path,add 加入到类路径下。
*/
@Test
public void testDriver() {
ResultSet res=null; //创建一个结果集对象
PreparedStatement pre = null; //创建预编译语句对象,一般都是用这个而不用Statement
Connection connection = null; //创建一个数据库连接
try
{ //1.创建一个Driver实现类的对象
Driver driver = new oracle.jdbc.driver.OracleDriver(); //加载Oracle驱动程序 //2.准备连接数据库的基本信息:url,user,password
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Properties info = new Properties();
info.put("user", "system");
info.put("password", "sys"); //3.调用Driver接口的connect(url,info)获取数据库连接
connection = driver.connect(url, info); //获取连接
System.out.println(connection);
System.out.println("数据库连接成功!"); //4.对数据库进行操作
String sql = "select * from Stu where Name = ?"; //预编译语句,?代表参数
pre = connection.prepareStatement(sql); //实例化预编译语句
pre.setString(1, "张三"); // 设置参数,前面的1表示参数的索引,而不是表中列名的索引
res = pre.executeQuery(); //执行查询
while(res.next()) System.out.println("姓名:"+res.getString("name")
+ "性别:"+res.getString("sex")
+ "年龄:"+res.getString("age"));
}
catch (Exception e )
{
e.printStackTrace();
}
finally
{
try
{
// 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
// 注意关闭的顺序,最后使用的最先关闭
if(res != null)
res.close();
if(pre != null)
pre.close();
if(connection != null)
connection.close();
System.out.println("数据库连接已关闭!");
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
jdbc连接oracle数据库的更多相关文章
- JDBC连接Oracle数据库的问题
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...
- jdbc连接oracle数据库问题
下面是JDBC连接oracle数据库流程: String dbURL = "jdbc:oracle:thin:@url:1521:service_name"; String use ...
- JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库
首先是JDBC 连接Oracle 数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- jdbc连接oracle数据库字符串
jdbc连接oracle数据库有两种方式: 连接数据库SID 连接数据库service_name 当连接SID时,字符串如下: url::orcl1" password="xxxx ...
- JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法
转载至http://www.blogjava.net/itspy/archive/2007/12/20/169072.html Oracle 问题描述:今天使用jdbc连接oracle 10.2.0. ...
- 简单的JDBC连接oracle数据库例子
java连接Oracle数据库 JDBC(Java Data Base Connectivity,java数据库连接),那么我们该如何用java进行数据库的连接呢. import java.sql.C ...
- JDBC 连接Oracle数据库 各个对象的理解
JDBC: 1. **代码实现:(连接oracle数据库) 1.导入驱动jar包 2.注册驱动 Class.forName("oracle.jdbc.driv ...
- Eclipse通过jdbc连接oracle数据库
首先要有包 然后,在项目中加载进去- 最后就是代码了 import java.sql.*;public class GetConn {public Connection getConnection() ...
随机推荐
- HNU 12888 Encryption(map容器)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12890&courseid=274 解题报告:输入一个有 ...
- Android学习笔记(十二)——实战:制作一个聊天界面
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...
- C++中各种容器特点总结
1.vector 内部数据结构:数组,可随机访问元素,在末尾增加或删除元素与元素数目无关,在其 他部分增加或删除元素随着元素数目呈线性变化. 2.deque 数组,按页/块来分配存储,每页/块包含固定 ...
- Python自动化之多进程
多进程multiprocessing from multiprocessing import Process import os def info(title): print(title) print ...
- css3创建3D场景
浏览器本身是一个2维平面,对于3D的情况,实际上是增加了一个维度(深度),所以我们需要创建一个3D场景.这时浏览器不仅仅是一个平面了,更像是一个窗口,我们透过这个窗口去观察里面的三维世界.所谓的创建3 ...
- ASP.NET MVC Dropdownlist
本文介绍如何在网页里显示DropDownList. Step 1: 在Control里面添加方法 public ActionResult ShowDropDownList() { return Vie ...
- POJ 1321
http://poj.org/problem?id=1321 一道深搜的题目,和那个POJ3740有点相类似. 也是到了现在我才知道原来深搜也有几种套路的,以前我的都是用队列来做,那个是不需要记住什么 ...
- JS中的timestamp
http://blog.163.com/lijy_980720@126/blog/static/75574626201261783343834/
- FFMpeg 滤镜中英文对照
FFMpeg ver 20160213-git-588e2e3 滤镜中英文对照 2016.02.17 by 1CM T.. = Timeline support 支持时间轴 .S. = Slice t ...
- h5页面的公共css
/*reset*/body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,tex ...