「oracle类型java」oracle类型转换函数

博主:adminadmin 2023-03-23 01:39:08 491

今天给各位分享oracle类型java的知识,其中也会对oracle类型转换函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

开发小白:oracle类型在java中应该如何使用正确类型接收?

根据我们的项目经验,在匹配浮点类型时,bigdecimal 用于 java、 js 和 oracle 数据库。使用浮点数和双精度浮点数时可能会出现错误!上述的希望可以帮助你。

从Oracle中读取的NUMBER类型一般在java中用什么型

数据库中的number类型在java类对应的类型:

1.如果number类没有设置小数位位数,默认小数位数为0,则在java类中可以使用int或者long对应;

2.如果number类设置小数位位数,在java类中可以使用double类进行对应。

注:也可以使用基本类型的包装类进行对于,比如double的包装类为Double.

oracle数据库 number 对应 java 类型

Oracle中Number类型可以用来存储数字,正、负、零或者浮点数都可以,但是如果长度大于8的花建议你用varchar2了。所以可以考虑用int或者double,如果精度的要求高的话,就用BigDecimal。

我用oracle都2年多了,根据个人经验给你分个类吧:

主键一般用varchar2(10)1,如'0000000001',可以用这个方法前后补充0,select lpad('1',10,'0') from dual;

日期一般用date,默认给sysdate

金额一般用number(x,y),x代表长度最多为多少不含小数位,x是小数点后有多少位

状态一般用number,默认值是0,代表正常,1代表废除,逻辑删除数据用,这些基本已经够用了。我给你看我设计表的时候是如何做的,给你截图:

亲希望采纳哦!

oracle与Java的关系??

oracle本身是关系数据库软件,java是编程语言,二者之间并没有任何关联关系,所处层次也不一样(一个是应用软件、一个是编程语言)。

结构化查询语言SQL是关系数据库的操作语言同样也是一门语言,也就是说你要对数据库(如oracle)进行操作必须通过SQL语言来与数据库进行交互。

SQL本身与JAVA也没有关联关系。

使用JAVA来进行应用程序的开发时,有要进行数据的持久化存储方面的需求时(即需要使用到数据库),由于二者之间并没有关联关系,所以要使用到JDBC技术,将二者关联起来,JDBC起到二者之间桥梁的作用,JAVA程序通过JDBC构建SQL语句,将业务需求转化成SQL语句,通过SQL语句来达到与数据库交互的作用。

JDBC是java链接数据库的桥梁,而SQL是与数据库交互的语言。你说SQL,数据库才听得懂!

JAVA调用存储过程,Oracle自定义类型作参数怎么写法

1. 存储过程以及类型定义如下:

--The array in oracle

CREATE OR REPLACE TYPE idArray AS TABLE OF VARCHAR2(20);

--package header

CREATE OR REPLACE PACKAGE Lib_Package AS

PROCEDURE Book_Check_Procedure(ids IN idArray, exist OUT NUMBER);

END Lib_Package;

--package body

CREATE OR REPLACE PACKAGE BODY Lib_Package AS

PROCEDURE Book_Check_Procedure( ids IN idArray, exist OUT NUMBER) AS v_Index BINARY_INTEGER; BEGIN v_Index:= ids.FIRST; LOOP SELECT COUNT(*) INTO exist FROM Lib_Duplicate WHERE status='Lent' AND book_id=ids(v_Index); EXIT WHEN v_Index=ids.LAST OR exist0; v_Index:= ids.NEXT(v_Index); END LOOP;END Book_Check_Procedure;

END Lib_Package;

2.在Java中调用上面的存储过程

(1) 在Oracle中定义数组类型idArray (2) 在java构造数组并转换成Oracle中定义的数组类型,调用存储过程

/** * 当要删除图书时,检查是否仍然有图书复本处于借出状态 */ public boolean checkBookStatus(String[] bookIds) throws DataAccessException {

boolean flag = false; Connection conn = null; OracleCallableStatement cstmt = null; ArrayDescriptor desc = null; ARRAY bookIdArray = null; int count = 0; String sql = "{call LIB_PACKAGE.Book_Check_Procedure(?,?)}";

DbDriverManager dbManager = DbDriverManager.getInstance(); conn = dbManager.getConnection(Constants.DATABASE);

try { cstmt = (OracleCallableStatement) conn.prepareCall(sql);

//定义oracle中的数组类型 desc = ArrayDescriptor.createDescriptor("IDARRAY", conn); bookIdArray = new ARRAY(desc, conn, bookIds);

cstmt.setObject(1, bookIdArray, oracle.jdbc.OracleTypes.ARRAY); cstmt.registerOutParameter(2, Types.INTEGER); cstmt.execute(); count = cstmt.getInt(2);

log.info(this.getClass() + ".checkBookStatus: count = " + count);

DbOperHelp.closeStatement(this.getClass(), cstmt); DbOperHelp.closeConnection(this.getClass(), conn); } catch (SQLException e) {

log.error(this.getClass() + ".checkBookStatus--SQLException: " + e.getMessage()); DbOperHelp.closeStatement(this.getClass(), cstmt); DbOperHelp.closeConnection(this.getClass(), conn); throw new DataAccessException( "When check the books, there is a SQLException: " + e.getMessage(), e.getCause()); }

if (count 0) {

flag = true; }

return flag; }

oracle类型java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle类型转换函数、oracle类型java的信息别忘了在本站进行查找喔。