如何java编程实现提取数据库中的表的属性值,并可视化出来。比如说创建了一张表,属性有id、name等等

如何java编程实现提取数据库中的表的属性值,并可视化出来。比如说创建了一张表,属性有id、name等等,第1张

思路:你先建立数据库连接:连接数据库的方式你应该会吧。不会在网上查一下,获取连接后:拿到连接对象:如下:

Connection conn = DriverManagergetConnection(url,userName,password);

//实现关于数据库的整体综合信息对象:如下:

javasqlDatabaseMetaData dbmd=conngetMetaData();

//获取数据库相关的信息,

Systemoutprintln("数据库产品名: "+dbmdgetDatabaseProductName());

Systemoutprintln("数据库是否支持事务: "+dbmdsupportsTransactions());

Systemoutprintln("数据库产品的版本号:"+dbmdgetDatabaseProductVersion());

//获取全表相关的信息

ResultSet tSet=dbmdgetTables(null,"%","%",newString[]{"TABLE","VIEW"})

while(tSetnext()){

Systemoutprintln(tSetgetRow()+"_表类别:"+tSetgetString("TABLE_CAT")+"_表模式:"+tSetgetString ("TABLE_SCHEM")+"_表名称:"+tSetgetString("TABLE_NAME")+"_表类型:"+tSetgetString("TABLE_TYPE")

//获取表的主键列信息;

ResultSetprimaryKey=dbmdgetPrimaryKeys("MANOR","PUBLIC","SYS_ROLE_RES");

while(primaryKeynext()){

Systemoutprintln("表名:"+primaryKeygetString("TABLE_NAME")+",列名:"+primaryKeygetString("COLUMN_NAME")

+" 主键名:"+primaryKeygetString("PK_NAME"));

//其中表名:SYS_ROLE_RES,

}

//获取表的外键列信息"

ResultSet foreinKey=dbmdgetImportedKeys("MANOR","PUBLIC","SYS_ROLE_RES");

while(foreinKeynext()){

Systemoutprintln("主键名:"+foreinKeygetString("PK_NAME")+",外键名:"+foreinKeygetString("FKCOLUMN_NAME")

+",主键表名:"+foreinKeygetString("PKTABLE_NAME")+",外键表名:"+foreinKeygetString("FKTABLE_NAME")

+",外键列名:"+foreinKeygetString("PKCOLUMN_NAME")+",外键序号:"+foreinKeygetString("KEY_SEQ"));

}

相获取更多SQL参数,可参考数据库相关方面的教材。

用eclipse

首先在oracle文件下找到jdbc文件,里面的lib文件下有个class12zip

在eclipse里新建个项目,建好后在左边右击那个项目图标,选择属性(最下面的),里面有个java build path,点进去,找到add external jars按键,点一下,把那个class12zip加载进来,然后可以开始写代码了。

我的代码如下:

import javasql;

public class connect {

/

@param args

/

public static void main(String[] args) {

// TODO Auto-generated method stub

try{

ClassforName("oraclejdbcdriverOracleDriver");

}catch(ClassNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

Connection con = null;

Statement stmt = null;

ResultSet rs = null;

try{

String url="jdbc:oracle:thin:@服务器ip地址:端口号:数据库名字";

String user="用户名";

String password="密码";

String str="INSERT INTO ZZZ_2 VALUES('041110018','JHDK')";

con = javasqlDriverManagergetConnection(url,user,password);

// 创建状态

stmt = concreateStatement();

// 执行SQL语句,返回结果

//int rowcount = stmtexecuteUpdate(str);

int j = stmtexecuteUpdate("update ZZZ_2 set NAME='dbt' where ID=21");

int k = stmtexecuteUpdate("delete from ZZZ_2 where ID=41110020");

rs = stmtexecuteQuery("SELECT FROM ZZZ_2");

// 对结果集进行处理

while (rsnext()) {

int id = rsgetInt("ID");

String name = rsgetString("NAME");

//Integer age = rsgetObject("age") == null null : rsgetInt("age");

Systemoutprintln(id + ": " + name);

} }catch(SQLException e){

eprintStackTrace();}

// 释放资源

finally{

try{

rsclose();

}catch(SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

try{

stmtclose();

}catch(SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

try{

conclose();

}catch(SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

}

}

注意,上面的ip地址什么的要填对,ZZZ_2是我随便建的表,你改成自己的表名就行了

插入/更新

1你是否遇到了需要将mysql数据库中的所有表与数据迁移到Oracle。

2你是否还在使用kettle重复的画着:表输入-表输出、创建表,而烦恼。下面为你实现了一套通用的数据库迁移流程。技术引导:实现之初,在kettle提供的例子中找到了一个类似的(samples\jobs\processalltables)。通过相关改造,终于达到目标。实现过程解剖:整套流程分为:2个job,4个trans。使用到的Trans插件:表输入、字段选择、复制记录到结果、从结果获取记录、设置变量、自定义java脚本、表输出。1大job。2要迁移的源库表名称获取,并设置到结果集,为下面的job使用。

3配置子job为前面的每一条记录(即每个表)执行一次该子job4下面是子job。5获取记录中的表名称,并设置为到变量。6读取当前表的结果信息,并在目标库中创建表(这个是难点)。因为只需要获取抓取要抽取表的结构信息,故在sql后面加上where1=2。下面代码是创建目标库表。Java代码publicbooleanprocessRow(StepMetaInterfacesmi,StepDataInterfacesdi)throwsKettleException{//First,getarowfromthedefaultinputhop//Object[]r=getRow();orgpentahodicoredatabaseDatabaseMetadbmeta=null;javautilListlist=getTrans()getRepository()readDatabases();//3x中获取资源库的所有数据库连接信息用getDatabases();if(list!=null&&!listisEmpty()){for(inti=0;i

public void randResultSet() {

HashSet<Integer> set = new HashSet<Integer>();

SessionFactory sf = HibernateSessionFactorygetSessionFactory();

Session s = sfopenSession();

List<user> list = screateQuery("from user")list();

int maxSize = listsize();

while (true) {

int randNumber = (int) (Mathrandom() maxSize + 1) - 1;

setadd(randNumber);

if (setsize() >= 10) {

break;

}

try {

Threadsleep(10);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

for (int a : set) {

user u = (user) listget(a);

Systemoutprintln(ugetName());

}

}

以上就是关于如何java编程实现提取数据库中的表的属性值,并可视化出来。比如说创建了一张表,属性有id、name等等全部的内容,包括:如何java编程实现提取数据库中的表的属性值,并可视化出来。比如说创建了一张表,属性有id、name等等、对oracle数据库抽取指定条件的数据、kettle怎么实现重复抽取更新数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9538245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存