java oracle 增删改查_oracle:java直接操作oracle存储过程---增删改查
sql方面的***********************************************
create table aa
(
a_id number(10) primary key,
a_name varchar2(50),
a_sex varchar2(4),
a_date date,
a_money number(8,2)
)
--查看下是否成功
select * from aa;
--创建触发器
create sequence aa_id_seq increment by 1 start with 1;
--插入一条数据测试一下
insert into aa(a_id,a_name,a_sex,a_date,a_money)
values(1,'陈飞龙','男',sysdate,55.55);--成功
insert into aa(a_name,a_sex,a_date,a_money)
values('陈飞龙','男',sysdate,55.55);--不成功,有序列但是没自增
--创建触发器
create or replace trigger aa_id_tigger
before insert on aa for each row
begin
if:new.a_id
is null
then
select aa_id_seq.nextval into:new.a_id from dual;
end
if;
end;
/
--插入一数据进行测试
delete from aa;
insert into aa(a_name,a_sex,a_date,a_money)
values('陈小龙','男',sysdate,66.55);--成功
--插入信息的存储过程
create or replace procedure aa_insert_pro
(
b_name in aa.a_name%type,
b_sex in aa.a_sex%type,
b_money in aa.a_money%type
)
as
begin
insert into
aa(a_name,a_sex,a_date,a_money)
values(b_name,b_sex,sysdate,b_money);
end aa_insert_pro;
/
--删除的存储过程
create or replace procedure aa_delete_pro
(
b_id in number
)
as
begin
delete from
aa where a_id = b_id;
end aa_delete_pro;
/
--修改表aa的存储过程
create or replace procedure aa_update_pro
(
b_id in number,
b_name in varchar2,
b_sex in aa.a_sex%type,
b_money in aa.a_money%type
)
as
begin
update aa set a_name = b_name,a_sex = b_sex,a_date =
sysdate,a_money = b_money where a_id = b_id;
end aa_update_pro;
/
--查询一条数据的某些个数据字段
create or replace procedure aa_seleceById_pro
(
b_id in number,
b_name out varchar2,
b_sex out varchar2,
b_date out date,
b_money out number
)
as
begin
select
a_name,a_sex,a_date,a_money into b_name,b_sex,b_date,b_money from
aa where a_id = b_id;
end aa_seleceById_pro;
/
-------------------------------------------------------------------------------
--查询多个数据,步骤1,2
--步骤1:创建程序包
create or replace package aa_package as
type aa_all is ref cursor;
end aa_package;
/
--步骤2:利用程序包创建多查询
create or replace procedure aa_selectMore_pro
(
b_all out aa_package.aa_all
)
as begin open b_all
for select * from aa;
end aa_selectMore_pro;
/
select * from aa where a_id = 2;
java类文件方面*****************************************************************************************
类DB,连接数据库:
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class DB
{
private static Connection con = null;
private static ResultSet rs = null;
private static PreparedStatement pstm = null;
public static Connection getCon()
{
String driver =
"oracle.jdbc.driver.OracleDriver";
String url =
"jdbc:oracle:thin:@localhost:1521:orcl";
String uid = "scott";
String pid = "tiger";
try
{
Class.forName(driver);
con =
DriverManager.getConnection(url, uid, pid);
} catch (Exception e)
{
e.printStackTrace();
con =
null;
}
System.out.println("打开");
return con;
}
public static void closeCon()
{
try
{
if (rs !=
null)
{
rs=null;
}
if(con !=
null)
{
con=null;
}
if(pstm !=
null)
{
pstm=null;
}
} catch (Exception e)
{
e.printStackTrace();
}finally
{
rs
=null;
pstm =
null;
con =
null;
System.out.println("关闭");
}
}
public static void main(String[] args)
{
DB db = new DB();
System.out.println(DB.getCon());
DB.closeCon();
}
}
类TESTAA,操作存储过程
package com.chen;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Types;
import java.util.Date;
import com.db.DB;
public class TestAA
{
private Connection con = null;
ResultSet rs = null;
CallableStatement cstm = null;
public void insertAA(String name,String sex,double money)
{
try
{
String sql =
"call scott.aa_insert_pro(?,?,?)";
if(con ==
null) con = DB.getCon();
cstm =
con.prepareCall(sql);
cstm.setString(1, name);
cstm.setString(2, sex);
cstm.setDouble(3, money);
boolean flag
= cstm.execute();
System.out.println("写入完成:"+ flag);
} catch (Exception e)
{
e.printStackTrace();
}
finally
{
DB.closeCon();
}
}
public void deleteAA(int id)
{
try
{
String sql =
"call aa_delete_pro(?)";
if(con ==
null) con = DB.getCon();
cstm =
con.prepareCall(sql);
cstm.setInt(1, id);
boolean flag
= cstm.execute();
System.out.println("删除结果:"+flag); } catch (Exception e)
{
e.printStackTrace();
}
finally
{
DB.closeCon();
}
}
public void updateAA(int id,String name,String sex,double
money)
{
try
{
String sql =
"call aa_update_pro(?,?,?,?)";
if(con ==
null) con = DB.getCon();
cstm =
con.prepareCall(sql);
cstm.setInt(1, id);
cstm.setString(2, name);
cstm.setString(3, sex);
cstm.setDouble(4, money);
int k =
cstm.executeUpdate();
boolean flag
;
if(k>0)
{
flag = true;
}else
{flag =
false;}
System.out.println("修改结果为:"+flag);
} catch (Exception e)
{
e.printStackTrace();
}
finally
{
DB.closeCon();
}
}
public void selectSomeById(int id)
{
try
{
String sql =
"call aa_seleceById_pro(?,?,?,?,?)";
if(con ==
null) con = DB.getCon();
cstm =
con.prepareCall(sql);
cstm.setInt(1, id);
cstm.registerOutParameter(2, Types.VARCHAR);
cstm.registerOutParameter(3, Types.VARCHAR);
cstm.registerOutParameter(4, Types.DATE);
cstm.registerOutParameter(5, Types.INTEGER);
cstm.execute(); String name
= cstm.getString(2);
String sex =
cstm.getString(3);
Date date =
cstm.getDate(4);
int money =
cstm.getInt(5);
System.out.println("name = "+name+"\tsex = "+sex+"\tdate =
"+date+"\tmoney = "+money);
} catch (Exception e)
{
e.printStackTrace();
}
finally
{
DB.closeCon();
}
}
public void selectAllAA()
{
try
{
String sql =
"call aa_selectMore_pro(?)";
if(con ==
null) con = DB.getCon();
java oracle 增删改查_oracle:java直接操作oracle存储过程---增删改查相关推荐
- oracle用户数据库导错,root 用户操作 ORACLE 数据库导致悲剧
接到同事请求,说客户的linux redhat 5.8平台部署的11.2.0.3 RAC 节点2挂掉了,报磁盘IO异常,数据库hang住 Fri Jun 14 12:01:22 2013 Thread ...
- java数据库edit_Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- oracle数据库导出灰色_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...
方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cmd的操作命令导出,详情如 ...
- oracle occi出现乱码,linux下occi操作oracle数据库,中文乱码的问题
转载:http://www.linuxidc.com/Linux/2008-02/11238.htm 前几日调通了OCI连接数据库的问题后,用Oracle自带的例子测试了一下,能正常读取数据(都是英文 ...
- Oracle中获取文件中的数据,操作oracle中的数据文件
收藏于http://dev.yesky.com/296/8090796.shtml Oracle数据库 中管理表空间和数据文件 数据库的三大组成部分:数据文件,控制文件,Redo日志. 表空间分为系统 ...
- 使用sys导出oracle,oracle 让sys用户执行exp导出操作
oracle 让sys用户执行exp导出操作 [oracle@localhost ~]$ exp sys/abcdefg as sysdba full=y file=/tmp/full100.dmp ...
- oracle数据库 cmd,cmd命令操作Oracle数据库
//注意cmd命令执行的密码字符不能过于复杂 不能带有特殊符号 以免执行不通过 譬如有!@#¥%--&*之类的 所以在Oracle数据库设置密码是不要太复杂 /String Database ...
- oracle重启root,案例:Oracle报错ORA-15025 ORA-27041 root用户操作rac导致节点宕机
天萃荷净 运维DBA反映Oracle RAC环境中节点宕机,alert发现报错ORA-15025 ORA-27041,分析原因为使用root用户操作rac导致节点宕机 接到同事请求,说客户的linux ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...
近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...
最新文章
- sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本
- Windows PowerShell:Windows PowerShell的简介、入门、使用方法之详细攻略
- VTK:网格用法实战
- 魔兽三国服务器维护,魔兽三国开服七天技巧
- man hdparm
- 阻止form表单提交的常用方式
- 一文弄懂“分布式锁”
- 2021级C语言大作业 - 一笔画
- 计算机技术薄弱对我省影响,计算机技术在贵州省西南地区的运用前景.docx
- ini_set和require使用
- 使你的程序支持多GPU渲染
- 解决打印机后台程序服务没有运行
- avr单片机c语言库,AVR单片机C语言编译器
- 51单片机LED灯闪烁
- 10计算机网络需要密码是多少钱,Win10宽带连接不用每次都要输入密码的办法
- 月浅灯深,梦里jar包何处寻
- (转)知乎作者邓文龙:Kensho是做什么的?
- 车载显示屏申请E-mark认证需要测试些什么?
- 服务器不能用pe安装win7系统安装,PE安装win7系统失败的完美解决方案
- Python字典用法大全Dict
热门文章
- 360插件化方案RePlugin学习笔记-插件使用宿主中的类
- 淘宝直通车可以退款吗?怎么退?
- .NET软件授权管理解决方案Eziriz .NET IntelliLock控件详细介绍
- JSHOP2学习4:浅谈与SHOP2的区别
- 合伙人(GP) 有限合伙人(LP)是什么意思?
- 使用vue-awesome-swiper制作H5动画页面
- 【错误记录】Kotlin 报错 ( Some kotlin libraries attached to this project were compiled with a newer kotlin )
- css样式鼠标放上去变成手的形状
- 数学之路-python计算实战(4)-Lempel-Ziv压缩(1)
- 中国行政区县GPS坐标