之前学习.NET的时候。以前利用ODBC进行连接数据库,而在Java中通常採用JDBC连接数据库,这里以oracle数据库为例简单的总结一下利用JDBC怎样连接并操作数据库。

1、连接

public class DbUtil {

public static Connection getConnection(){

Connection conn=null;

try {

Class.forName("oracle.jdbc.driver.OracleDriver");//找到oracle驱动器所在的类

String url="jdbc:oracle:thin:@localhost:1521:bjpowernode"; //URL地址

String username="drp";

String password="drp";

conn=DriverManager.getConnection(url, username, password);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

public static void close(PreparedStatement pstmt){

if(pstmt !=null){

try {

pstmt.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

public static void close(ResultSet rs){

if(rs !=null){

try {

rs.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}}

在运行Class.forName时,须要找到OracleDriver所在的地址,路径为:

1、首先找到

D:\oracle\product\10.2.0\db_1\jdbc\lib  找到ojdbc14.jar

2、其次再找到  ojdbc14.jar\oracle\jdbc\driver以下的oraceldriver这样就找到了要使用的驱动程序文件

2、操作数据库--加入

public void addUser(User user){

String sql="insert into t_user(user_id,user_name,PASSWORD,CONTACT_TEL,EMAIL,CREATE_DATE)values(?

,?

,?,?,?

,?)"; //?为參数占位符

Connection conn=null;

PreparedStatement pstmt=null; //通常利用PreparedStatement进行操作,性能得到优化

try{

conn=DbUtil.getConnection();

pstmt=conn.prepareStatement(sql);

pstmt.setString(1, user.getUserId());

pstmt.setString(2,user.getUserName());

pstmt.setString(3, user.getPassword());

pstmt.setString(4, user.getContactTel());

pstmt.setString(5,user.getEmail());

//pstmt.setTimestamp(6,new Timestamp(System.currentTimeMillis()));

pstmt.setTimestamp(6, new Timestamp(new Date().getTime()));//获取当前系统时间

pstmt.executeUpdate();//运行增删改操作

}catch(SQLException e){

e.printStackTrace();

}finally{

DbUtil.close(conn);

DbUtil.close(pstmt);

}

}

3、操作数据库--查询

public User findUserById(String userId){

String sql = "select user_id, user_name, password, contact_tel, email, create_date from t_user where user_id=?";

Connection conn=null;

PreparedStatement pstmt=null;

ResultSet rs=null;//定义存放查询结果的结果集

User user=null;

try{

conn=DbUtil.getConnection();

pstmt=conn.prepareStatement(sql);

pstmt.setString(1,userId);

rs=pstmt.executeQuery();//运行查询操作

if(rs.next()){

user=new User();

user.setUserId(rs.getString("user_Id"));

user.setUserName(rs.getString("user_name"));

user.setPassword(rs.getString("password"));

user.setContactTel(rs.getString("contact_Tel"));

user.setEmail(rs.getString("email"));

user.setCreateDate(rs.getTimestamp("create_date"));

}

}catch(SQLException e){

e.printStackTrace();

}finally{

//按顺序进行关闭

DbUtil.close(rs);

DbUtil.close(pstmt);

DbUtil.close(conn);

}

return user;

}

四、总结

1、PreparedStatement与Statement的简单差别

Statement为一条SQL语句生成运行计划,假设參数值不同。会生成不同的sql语句,运行相应參数值个数的次数。假设仅仅有一条SQL语句运行时,最好採用Statement进行。

PreparedStatement使用绑定变量重用运行计划。不同的參数值相应的查询语句。仅仅会生成一个sql语句。大大提高了运行的效率。是预编译的。在大批量语句操作时,提高了效率,同一时候可採用'?'来代表參数,能够防止SQL注入。安全性更高。

2、与之前的知识进行联系

眼下接触到的额JDBC中的连接对象有Connection这个与之前ODBC的Connection作用同样,为数据库连接对象。而PraparedStatement与Statement与ODBC中的command对象类似。都是用来运行SQL语句的。

查询方法中用到的ResultSet则与之前用到的DataSet或者DataTable功能类似,这样一联系,似乎这个连接和使用过程变得简单的很多吧!

jdbc连接orcle数据库_怎样利用JDBC连接并操作Oracle数据库相关推荐

  1. cmd控制台连接MySQL数据库_如何利用CMD连接本机mysql数据库

    从事数据工作的IT人员,很多人都会与Mysql数据库打交道.因为mysql数据库是一个开源的数据库,利用它来学习数据库的人也有很多.笔者今天就给大家分享一下,安装好mysql之后,怎么利用CMD连接本 ...

  2. cmd如何刷新MySQL数据库_怎样在cmd中用命令操作MySQL数据库 需要技巧

    用命令来操作MySQL是工作必备的,今天我就来分享一下cmd命令操作MySQL数据库的方法,希望有帮助. 工具/材料 电脑 xampp 操作方法 01 首先,启动MySQL服务才行哦.这里我是用xam ...

  3. Python应用实战系列-如何通过Python来操作Oracle数据库:cx_Oracle

    最近需要将一批数据从csv文件中迁移到Oracle数据库中,打算用Python来实现,趁着这个机会,写一篇博客学习总结一些如何使用Python来操作Oracle数据库. 1 安装与导入 Python操 ...

  4. jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)

    使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...

  5. vs使用ado连接oracle,在VS环境下以ADO方式操作Oracle数据库

    利用ADO引擎方式访问Oracle数据库的实现方法: 定义数据库头文件为CDBOperation.h #pragma once #import "C:\Program Files\Commo ...

  6. jfinal连接oracle_JFinal框架操作oracle数据库

    JFinal框架操作oracle数据库,需要在configPlugin()方法中配置链接oracle数据库的相关配置 配置JFinal数据库操作插件,configPlugin方法 这里我加载jdbc. ...

  7. oracle数据库path,利用Path环境变量解决oracle数据库和owb工具不兼容问题!

    利用Path环境变量解决oracle数据库和owb工具不兼容问题! 2009年5月4日 现象: 安装了oracle9i和owb10后往往会出现各自工具不能启动的现象,比如安装完oracle9i后再安装 ...

  8. 连接Linux服务器操作Oracle数据库

    1.连接到Linux服务器(输入服务器的ip地址) ssh 10.199.94.227 连接成功后会提示输入密码,输入成功会提示. 2.切换到操作Oracle数据库 su - oracle 切换成功会 ...

  9. c odp.net连oracle,.NET Core 使用ODP.NET Core连接操作Oracle数据库

    1、使用必要条件 1) 安装Microsoft Visual Studio 2017或更高版本. 2) 安装Oracle Database 12c或更高版本. 2、ODP.NET Core安装配置 在 ...

最新文章

  1. 习题:八数码难题(双向BFS)
  2. RabbitMQ学习之Publish/Subscribe(3)
  3. 解决Python安装后目录下缺失Scripts文件夹
  4. 如何在微软的下载商店找到下载的图片?
  5. Android 应用是如何启动 binder 机制的?
  6. Android安卓 自定义mapbox地图比例尺
  7. 淘宝天猫x-sign算法
  8. 碗中有米,心中有他,他解决的不只是吃饭问题......
  9. unity退出,从新开始,暂停
  10. python真的有用吗-Python真的没有用吗?
  11. 软件功能测试报告都包含哪些内容,测试报告如何获取呢
  12. SAP:常用的T-code
  13. 织梦教程:ms在channel标签中调用typeid无效解决办法
  14. 程序员如何明确职业与人生的目标
  15. 小学学计算机应该学什么礼物,小学毕业礼物排行榜,运动学习两不耽误
  16. 现在不是去想缺少什么的时候,该想一想凭现有的东西你能做什么。
  17. (转载)[python学习笔记]Python语言程序设计(北理工 嵩天)
  18. linux 恶意软件检测,两款针对Linux系统Rootkit和恶意软件的有用检测工具
  19. 免费申请HTTPS证书六大方法
  20. 中职网络空间安全windows渗透

热门文章

  1. 地图服务器控件GIS Map Server v3.6发布,新增航空影像数据集功能
  2. IP地址与int32整型之间的转换
  3. C语言编程求解:1到1000之间所有的素数
  4. openGL之API学习(一三九)求垂直向量
  5. C#上位机——串口发送
  6. 三国演义人物词频统计-1
  7. uni-app接入阿里图标使用以及图标旋转
  8. [宋史学习] 赵光义对西夏的一系列错误
  9. php7.0官网下载,PHP7(PHP7下载)64位下载
  10. VMware虚拟机银河麒麟服务器系统与物理windows主机网络设置相互ping通处理方案之桥接