jdbc连接orcle数据库_java连接Oracle数据库
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;public classOperateOracle {//定义连接所需的字符串//192.168.0.X是本机地址(要改成自己的IP地址),1521端口号,XE是精简版Oracle的默认数据库名
private static String USERNAMR = "orcl";private static String PASSWORD = "orcl";private static String DRVIER = "oracle.jdbc.OracleDriver";private static String URL = "jdbc:oracle:thin:@192.168.0.X:1521:xe";//创建一个数据库连接
Connection connection = null;//创建预编译语句对象,一般都是用这个而不用Statement
PreparedStatement pstm = null;//创建一个结果集对象
ResultSet rs = null;/*** 向数据库中增加数据
* 首先获取表内数据总数,总数+1为新增数据的id值
*@paramstuName:学生姓名
*@paramgender:学生性别,1表示男性,2表示女性
*@paramage:学生年龄
*@paramaddress:学生住址*/
public void AddData(String stuName, int gender, intage, String address) {
connection=getConnection();//String sql =//"insert into student values('1','王小军','1','17','北京市和平里七区30号楼7门102')";
String sql = "select count(*) from student where 1 = 1";
String sqlStr= "insert into student values(?,?,?,?,?)";int count = 0;try{//计算数据库student表中数据总数
pstm =connection.prepareStatement(sql);
rs=pstm.executeQuery();while(rs.next()) {
count= rs.getInt(1) + 1;
System.out.println(rs.getInt(1));
}//执行插入数据操作
pstm =connection.prepareStatement(sqlStr);
pstm.setInt(1, count);
pstm.setString(2, stuName);
pstm.setInt(3, gender);
pstm.setInt(4, age);
pstm.setString(5, address);
pstm.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}finally{
ReleaseResource();
}
}/*** 向数据库中删除数据
*@paramstuName:根据姓名删除数据*/
public voidDeleteData(String stuName) {
connection=getConnection();
String sqlStr= "delete from student where stu_name=?";
System.out.println(stuName);try{//执行删除数据操作
pstm =connection.prepareStatement(sqlStr);
pstm.setString(1, stuName);
pstm.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}finally{
ReleaseResource();
}
}/*** 向数据库中修改数据
*@paramstuName:学生姓名,根据此值查询要修改的某行值
*@paramgender
*@paramage
*@paramaddress*/
public void UpdateData(String stuName, int gender, intage, String address) {
connection=getConnection();
String sql= "select id from student where 1 = 1 and stu_name = ?";
String sqlStr= "update student set stu_name=?,gender=?,age=?,address=? where id=?";int count = 0;try{//计算数据库student表中数据总数
pstm =connection.prepareStatement(sql);
pstm.setString(1, stuName);
rs=pstm.executeQuery();while(rs.next()) {
count= rs.getInt(1);
System.out.println(rs.getInt(1));
}//执行插入数据操作
pstm =connection.prepareStatement(sqlStr);
pstm.setString(1, stuName);
pstm.setInt(2, gender);
pstm.setInt(3, age);
pstm.setString(4, address);
pstm.setInt(5, count);
pstm.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}finally{
ReleaseResource();
}
}/*** 向数据库中查询数据*/
public voidSelectData() {
connection=getConnection();
String sql= "select * from student where 1 = 1";try{
pstm=connection.prepareStatement(sql);
rs=pstm.executeQuery();while(rs.next()) {
String id= rs.getString("id");
String name= rs.getString("stu_name");
String gender= rs.getString("gender");
String age= rs.getString("age");
String address= rs.getString("address");
System.out.println(id+ "\t" + name + "\t" + gender + "\t"
+ age + "\t" +address);
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
ReleaseResource();
}
}/*** 使用ResultSetMetaData计算列数*/
public voidSelectData2() {
connection=getConnection();
String sql= "select * from employees where 1 = 1";int count = 0;try{
pstm=connection.prepareStatement(sql);
rs=pstm.executeQuery();while(rs.next()) {
count++;
}
ResultSetMetaData rsmd=rs.getMetaData();int cols_len =rsmd.getColumnCount();
System.out.println("count=" + count + "\tcols_len=" +cols_len);
}catch(SQLException e) {
e.printStackTrace();
}finally{
ReleaseResource();
}
}/*** 获取Connection对象
*
*@return
*/
publicConnection getConnection() {try{
Class.forName(DRVIER);
connection=DriverManager.getConnection(URL, USERNAMR, PASSWORD);
System.out.println("成功连接数据库");
}catch(ClassNotFoundException e) {throw new RuntimeException("class not find !", e);
}catch(SQLException e) {throw new RuntimeException("get connection error!", e);
}returnconnection;
}/*** 释放资源*/
public voidReleaseResource() {if (rs != null) {try{
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}
}if (pstm != null) {try{
pstm.close();
}catch(SQLException e) {
e.printStackTrace();
}
}if (connection != null) {try{
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}
jdbc连接orcle数据库_java连接Oracle数据库相关推荐
- Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库
Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库 因为之前做的一个项目需要在mac系统上用Rstudio远程访问Oracle数据库,以对获得的数据进行进一步的分析~但是在网上找了很多 ...
- plsql 连接 虚拟机Linux下的Oracle数据库 失败
plsql 连接 虚拟机Linux下的Oracle数据库 失败 plsql 连接 虚拟机Linux下的Oracle数据库 失败 2017年09月09日 09:10:23 守望dfdfdf 阅读数:18 ...
- Jsp之使用纯Java数据库驱动程序(sqlserver,Oracle数据库为例)
1.首先,先下载sqlserver数据库驱动程序和Oracle数据库驱动程序,下面我将用到sqljdbc.jar和ojdbc6.jar,这里的sqljdbc.jar是属于SQL Server 2005 ...
- MYSQL数据库迁移到ORACLE数据库
一.环境和需求 1.环境 MySQL数据库服务器: OS version:Linux 5.3 for 64 bit mysql Server version: 5.0.45 Oracle数据库服务器: ...
- 如何将DB2数据库转换成Oracle数据库,这一篇告诉你
墨墨导读:众所周知,数据库升级.转换.迁移是数据库运维必备的日常技能,本文详细介绍一则将DB2数据库转换成Oracle数据库的案例,希望对大家有帮助. 1. 前言 记录一则使用sql develope ...
- oracle数据库基础测试,ORACLE数据库基础测试题oracle数据库复习题.docx
<ORACLE数据库基础测试题oracle数据库复习题.docx>由会员分享,可在线阅读,更多相关<ORACLE数据库基础测试题oracle数据库复习题.docx(18页珍藏版)&g ...
- oracle数据库的并发控制,Oracle数据库—— 事务处理与并发控制
一.涉及内容 1.理解事务的概念和几个特性. 2.熟练掌握事务管理命令的使用. 3.理解并发操作的概念和数据库锁的类型. 二.具体操作 (12.5 实验) 1. 分析以下代码,说出代码中的哪些部分体现 ...
- oracle数据库物理结构包含,Oracle - 数据库物理结构
● 一个数据文件只能属于一个数据库 ● 当数据库空间用完时,数据文件可以按照预定的设置自动扩展. ● 一个或多个数据文件形成了数据库中的一种逻辑结构-表空间. 当需要时,数据文件中的数据通过数据库操作 ...
- oracle中毒,oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666...
oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666 客户名称 保密 数据类型 oracle 11G 数据容量 100 gb 故障类型 服务器中毒,文件 ...
- linux java url 异常_Java连接虚拟机(Linux)中的Oracle数据库,连接异常~新手求解!
此Oracle数据库在Linux系统下可用,在Windows里执行如下代码:DriverManager.getConnection("jdbc:oracle:thin:@192.168.22 ...
最新文章
- 为啥同一个程序,单步执行和debug执行出现的结果不一样呢?
- centos 6.3安装mysql_centos6.3安装MySQL 5.6(转)
- python 试题归纳及答疑 更新中.....
- 服务器的ras性能指标,Unix服务器6大原则深度讲解
- 来和小伙伴一起学习响应式网页设计吧
- eclipse项目红叉,Target runtime Apache Tomcat 6.0 is not defined
- 如何用illustrator做技术手册_做期货用什么技术指标分析?
- mysql堵塞等级_MySQL 事务隔离级别
- 敏捷实践:比每日会议更疯狂的半日会议!
- Hadoop问题:The auxService:mapreduce_shuffle does not exist
- 前端人职场发展的 6 个方向
- linux系统IO操作
- [北航软工]技术规格说明书
- 程序员超实用网站,留着总有用的着的时候
- php ccbsign.rsasig,Maven整合SSM和建行龙支付
- 笑晕,小米新logo是这么来的
- 史上最全场景文字识别资源汇集(56篇重要论文 + 20 个开源代码 + 330 个实验结果 + 1882个统计信息)...
- 80后十大烦恼的特征
- 客户沟通的方式:礼貌待客沟通方式,技巧推广沟通方式,个性服务沟通方式
- 深度学习 cnn pytorch框架报错 size mismatch, m1: [ x ], m2: [ x ] Captcha.ImageCaptcha设置生成图片的大小尺寸