java代码写入数据库注意事项


ORACLE数据库:

1,在数据库可视化工具中可以加 ;结束,但在java代码中不可以有 ;否者报错    ORA-00911

2,在对数据库操作完成后需要调用prepareStatement的方法(execute()或executeQuery()或executeUpdate()

3,数据库中的字符串使用的是 ‘’  单引号,而不是  "" 双引号

4,如果存入数据库的字符串中有  ‘’  单引号,可以在java中的String中将单引号替换为两个单引号

5,oracle中定位到表明一般加入模式名(模式名.表名)

6,关于数据库的删除操作  ,在delete和from中间没有 *

DELETE FROM 表名称 WHERE 列名称 = 值


7,oracle的批量插入方法:insert后面总是容易丢掉into

INSERT INTO T(N1,N2) 

SELECT 1,1 FROM DUAL UNION ALL 

SELECT 2,2 FROM DUAL .....

表名(值1,值2....)

select  值1,值2....  from dual union all

.........

select  值1,值2....  from dual 

在最后一组值后面没有union all(关于oracle中dual是什么自行百度)

8,关于(execute()或executeQuery()或executeUpdate())区别

根据你的语句和对于返回值的需求来使用

布尔execute()   :适用于任何语句
执行的SQL语句PreparedStatement对象,它可以是任何类型的SQL语句。

ResultSet executeQuery()   :  :适用于查询语句
执行SQL查询在这个PreparedStatement对象并返回查询生成的结果集对象。

int executeUpdate() :  :适用于修改(增删改)语句
执行的SQL语句PreparedStatement对象,它必须是一个SQL INSERT、UPDATE或DELETE语句,不返回任何结果或一个SQL语句,如一个DDL语句。


9,对于oracle数据库中插入超过4000字节的varchar类型会报错,因为超出了varchar类型的最大容量

这时就需要使用CLOB类型,CLOB类型不允许指定大小,最大容量20G。

使用方法:声明以及实例化:(Connection conn)

CLOB clob   = CLOB.createTemporary(conn, false,oracle.sql.CLOB.DURATION_SESSION);  

其他声明方法查看API:http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/sql/CLOB.html

给clob赋值:

in t   setString(long pos, java.lang.String str)
JDBC 3.0给定的Java写道StringCLOB值,这Clob对象指定的位置pos

使用时和其他参数一样,加入到PreparedStatement中,方法不止一种,查询等操作后续碰到再加上,



你可能感兴趣的:(Oracle相关)