随笔分类 - Java.JDBC
摘要:有两个表是这样的: create table emp430_1( id number(12), name nvarchar2(20), profile clob, primary key(id) ); create table emp430_2( id number(12), name nvarch
阅读全文
摘要:有个表是这样的: create table emp430_1( id number(12), name nvarchar2(20), profile clob, primary key(id) ); 其中profile为clob类型,这种类型可以容纳超大文本。 以下是从中连续读取数据的程序: pac
阅读全文
摘要:有一个表是这样的: create table emp430_1( id number(12), name nvarchar2(20), profile clob, primary key(id) ); 其中profile是clob字段。 往这个字段连续塞入数据的程序如下: package com.h
阅读全文
摘要:【任务】 A机上有个1表,B机上有个2表,需要把1表数据全部倒腾到2表。 因为是两台机器两个库,故insert into t1 select * from t2的SQL就用不上了,需要写Java程序作为中转实现。 【难点】 1表中有个timestamp字段hdate,需要做特殊处理。 【突破口】 取
阅读全文
摘要:原文出处:https://blog.csdn.net/zhangzz1127/article/details/16116095 数据库中存储时间格式为2013-11-11 11:08:08,现在要从ResultSet中取出时间,当然是要包含年月日时分秒的,发现rs.getDate()只是返回日期部分
阅读全文
摘要:代码: protected int getActualCount(){ String table=task.getTo().getTable(); DB db=task.getTo().getDb(); Connection conn = null; Statement stmt = null; t
阅读全文
摘要:【核心语句】 DatabaseMetaData metaData = conn.getMetaData(); ResultSet rs= metaData.getColumns(null, null, tablename+"%", null); 重点是第二句的第三参数,如果置空就不分表了,那不是我们
阅读全文
摘要:【核心语句】 DatabaseMetaData metaData = conn.getMetaData();ResultSet tables = metaData.getTables(null, null, "EMP%", new String[]{"TABLE"}); 第一句没啥花样,第二句中有四
阅读全文
摘要:【功能】 以源表为基础,将其字段复刻下来制成新表。 【代码】 package com.hy.lab.clone; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;
阅读全文
摘要:这个类是我用来做数据迁移测试的,里面把删表、建表、充值都融合到了一起,字段采用f1,f2,f3...fn的方式递增,字段类型除id外都是nvarchar2,填充的都是固定数据,大家拿下去后可以根据自己的需求修改。 速度方面,在我的老伙计T440p上, 如果是31个字段,一千万条数据,用BATCH_S
阅读全文
摘要:【需求】 提供一个源表名和目的表名,要求目的表的字段全照源表构建,创建时遇到同名表则将其删除。 【源表】 create table emp_from_10( id number(12), f1 nvarchar2(10), f2 nvarchar2(10), f3 nvarchar2(10), f4
阅读全文
摘要:虽然这是个小众任务,但在特定场景下却是不可或缺,比如在建表前需要探测,如果表存在就要删除。 以下是具体函数: /** * 看表是否存在 注意函数中将表名大写的处置 * @param tablename * @param conn * @return * @throws Exception */ pr
阅读全文
摘要:jdbc虽然出现很多年了,但和SQL一样历久弥新,它的潜能还有待发掘。 下面是利用ResultSetMetaData类获得表的元数据(字段名、字段类型和长度)的程序,希望对大家有所帮助。 【目标表定义】 create table emp_from_10( id number(12), f1 nvar
阅读全文
摘要:【实验硬件环境】 T440p 【数据库环境】 Oracle10g,win版 【目标表】 create table emp3( id number(12), name nvarchar2(20), age number(3), primary key(id)) 【百万程序】 package com.h
阅读全文
摘要:【前篇】 https://www.cnblogs.com/heyang78/p/15991030.html 【主要改进点】 用JdbcTemplate取代了原有的JDBC代码,改单条插入为批量插入。 【原表数据及目的表】 create table emp( id number(12), name n
阅读全文
摘要:【从CSV转向二进制文件的原因】 1.csv文件的分隔符逗号,可能出现在用户所选的字段中,分段失误后会导致信息丢失。 2.CSV文件信息容易被人读取,二进制文件则相对安全些。 【源表、数据及目的表】 create table emp( id number(12), name nvarchar2(10
阅读全文
摘要:【建表及充值】 create table emp_from( id number(12), name varchar2(10), age number(3), salary number(6), primary key(id) ) insert into emp_from select rownum
阅读全文
摘要:注意:此文为在下工作记录,未必对您有用。 【读表写入csv文件程序】 package com.hy.datamasting; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; i
阅读全文
摘要:【插值程序】 https://www.cnblogs.com/heyang78/p/15937891.html 【读出程序】 import java.io.Reader; import java.sql.*; public class ClobReader { public static void
阅读全文
摘要:【建表】 create table test03( id number(3), content clob, primary key(id) ) 【程序】 import java.io.BufferedReader; import java.io.FileInputStream; import jav
阅读全文