思路:你先建立数据库连接:连接数据库的方式你应该会吧。不会在网上查一下,获取连接后:拿到连接对象:如下:
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怎么实现重复抽取更新数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)