package day18;
import java.io.FileOutputStream;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import day17.DBManager;
public class TestDataBaseMeta {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
DBManager dbManager=null;
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
//注册驱动
dbManager=new DBManager();
//获取连接
conn=dbManager.getConnection();
DatabaseMetaData dbmd=conn.getMetaData();
//System.out.println(dbmd);
System.out.println("数据库名称:"+dbmd.getDatabaseProductName());
System.out.println("数据库版本: "+dbmd.getDatabaseProductVersion());
System.out.println("用户名: "+dbmd.getUserName());
System.out.println("驱动名称:"+dbmd.getDriverName());
System.out.println("驱动版本:"+dbmd.getDriverVersion());
//ResultSet
String sql="select * from students";
pstmt=(PreparedStatement) conn.prepareStatement(sql);
rs=pstmt.executeQuery();//rs永远不为空
ResultSetMetaData rmd=rs.getMetaData();//获取结果集的元数据
System.out.println("获取结果集的列数:"+rmd.getColumnCount());
System.out.println("获取指定列的名称:"+rmd.getColumnName(1));
System.out.println("获取 指定列的类型:"+rmd.getColumnType(1));
while(rs.next()){
for(int i=0;i<rmd.getColumnCount();i++){
System.out.print(rs.getObject(i+1)+" ");
}
System.out.println();
}
/*
* 写到students.xml文件中
*/
//创建空的document文档
Document document=DocumentHelper.createDocument();
//创建根元素
Element rootElement=document.addElement("students");
rs=pstmt.executeQuery();//rs永远不为空
ResultSetMetaData rmd2=rs.getMetaData();//获取结果集的元数据
while(rs.next()){
Element studentElement=rootElement.addElement("student");
for(int i=1;i<=rmd2.getColumnCount();i++){
//获取列名
String columnName=rmd2.getColumnName(i);
//获取列值
Object columnValue=rs.getObject(columnName);
studentElement.addElement(columnName).setText(columnValue.toString());
}
}
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
String path="D:\\workspace\\WebDatabase\\src\\day18\\students.xml";
XMLWriter writer=new XMLWriter(new FileOutputStream(path),format);
writer.write(document);
writer.close();
dbManager.closeResource(conn,null,null);
}
}
java mysql 操纵元数据(包括写到xml文件中 dom4j)
最新推荐文章于 2022-03-12 13:53:58 发布