java更新数据代码原理 Java更新

如何用java更新oracle的blob字段?

更新数据的时候,写insert语句的时候,不更新blob字段,blob字段对应的数据用 empty_blob() 代替就行。

创新互联是一家专注于成都网站制作、网站设计与策划设计,新抚网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:新抚等地区。新抚做网站价格咨询:18980820575

(注意:在执行上面那个 sql 之前,一定要把 connection 设置成不自动提交: conn.setAutoCommit(false); )

最后单独出来blob字段:

//把 blob 字段取出来

String sql = "select ANNEX from market_info_collect_t where info_id='"

+ infoId + "' for update ";

Statement stt=null;

stt = conn.createStatement();

rs = stt.executeQuery(sql);

if (rs.next()) {

blob = (oracle.sql.BLOB) rs.getBlob("ANNEX");

outStream = blob.getBinaryOutputStream();

instream = myFile.getContentStream();

byte[] data = new byte[instream.available()];

instream.read(data);

outStream.write(data, 0, data.length);

}

instream.close();

outStream.flush();

outStream.close();

上面这段是我以前写过的代码中的一部分,你看一下,希望对你能有帮助。。。

用Java已经获取了当前系统时间,怎样每24小时获取更新一次数据

如果使用了spring框架的话可以使用相应的任务调度功能

或者quartz框架 实现任务调度 后者框架级别较小 而且容易学习 可以考虑

如何oracle数据更新时触发java代码

oracle数据更新时触发java代码的步骤如下:

1。编写JAVA程序

public class Main {  

public static void modify(String statTime)  

{  

String datas = "/var/spool/cron/oracle";  

File data = new File(datas);  

StringBuffer backup = null;  

try {  

StringBuffer content = new StringBuffer();  

backup = new StringBuffer();  

BufferedReader san = new BufferedReader(new FileReader(data));  

String line = null;  

while((line=san.readLine())!=null)  

{  

backup.append(line);  

backup.append("/n");  

}  

content.append("15 ");  

content.append(statTime.trim());  

content.append(" * * * /home/oracle/task.sh");  

content.append("/n");  

content.append("13 ");  

content.append(statTime.trim());  

content.append("* * * /home/oracle/tj_task/task2.sh");  

content.append("/n");  

FileWriter writer = new FileWriter(data,false);  

writer.write(content.toString());  

writer.flush();  

} catch (FileNotFoundException e) {  

e.printStackTrace();  

} catch (IOException e) {  

try  

{  

FileWriter writer = new FileWriter(data,false);  

writer.write(backup.toString());  

writer.flush();  

}catch(Exception ex)  

{  

ex.printStackTrace();  

}  

}  

}  

}

注意,这里写JAVA程序不需要遵循标准的JAVA程序,一定要有main入口函数,相反,这里的函数一般不要取名为main,除非格式是标准的main 函数格式

2。把JAVA程序LOAD进oracle

在$ORACLE_HOME/bin目录下有个LOADJAVA命令,使用这个命令将刚写好的JAVA程序LOAD进数据库。

loadjava -user test/test@test -o -v -f -r Main.java

如果成功的话,会打印出来信息提示成功,若程序有编译错误的话,也会提示错误的地方。

3。修改权限

首先以管理员身份登录进数据库

sqlplus / as sysdba

然后执行

begin

dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/var/spool/cron/oracle','read,write,execute,delete');

end;

/

执行完毕后,在数据库里执行上述JAVA程序时,就拥有读写该文件的权限了。

4。创建存储过程

进入到数据库,在SQLPLUS命令行

create or replace procedure Modify(name varchar2) as language java name 'Main.modify(java.lang.String)';

/

会提示创建存储过程成功。

5。增加trigger

TOAD里直接针对某个表增加trigger,所以关键部分的代码

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

java 自动补全、就像百度似的。js和java代码怎么写?

原理很简单,但实现很复杂。

如果是代码补全的,一般是通过反射去获取类的一些信息,然后反馈给用户,用于自动填充。

如果是数据库中有的,有3种解决方案,对应2个不同的场景。

第一个场景:访问人数不多,项目不大,服务器资源空闲程度高。对应的方案,直接针对数据库进行关键字模糊搜索。简单粗暴,实现技术要求很低。优点开发难度低,架构简单,缺点匹配程度可能不满足当前需求

第二个场景:访问人数多,服务器资源利用率要求高。对应的方案,建立目录缓存(也可能是NOSQL数据库),对关键字在缓存(NOSQL数据库)进行模糊查找并建立更新机制,但不能全完做到实时同步。优点开发难度相对较高,架构难度一般,缺点用户体验可能不好。

最后一种解决方案,建立大数据平台,使用搜索引擎进行搜索,搭配机器学习提高准确率。优点就是相对其他的基本没有缺点。


分享文章:java更新数据代码原理 Java更新
网站路径:http://hbruida.cn/article/docdihh.html