t_book数据库
使用DatabaseMetaData获取数据库的基本信息
- DatabaseMetaData 可以得到数据库的一些基本信息,包括数据库的名称、版本,以及得到表的信息。
- String getDatabaseProductName() 获取此数据库产品的名称。
- int getDriverMajorVersion() 获取此 JDBC 驱动程序的主版本号。
- int getDriverMinorVersion() 获取此 JDBC 驱动程序的次版本号。
import java.sql.Connection; import java.sql.DatabaseMetaData; import com.cn.zj.JDBCUtil.DbUtil; public class demo { public static void main(String[] args) throws Exception { DbUtil dbUtil=new DbUtil(); Connection con=dbUtil.getCon(); DatabaseMetaData dmd=con.getMetaData(); //获取元数据 System.out.println("数据库名称"+dmd.getDatabaseProductName()); System.out.println("数据库版本"+dmd.getDatabaseMajorVersion()+","+dmd.getDriverMajorVersion()); } }
使用ResultSetMetaData获取Result对象中的信息(开发经常用)
-
ResultSetMetaData可获取关于 ResultSet 对象中列的基本信息;
-
int getColumnCount() 返回此 ResultSet 对象中的列数。
-
String getColumnName(int column)获取指定列的名称。
-
int getColumnTypeName(int column)获取指定列的SQL 类型名称。
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSetMetaData; import com.cn.zj.JDBCUtil.DbUtil; public class demo2 { public static void main(String[] args) throws Exception { DbUtil dbUtil=new DbUtil(); Connection con=dbUtil.getCon(); String sql="select * from t_book"; PreparedStatement pstmt=con.prepareStatement(sql); ResultSetMetaData rsmd=pstmt.getMetaData(); int number=rsmd.getColumnCount(); //获取元数据列的总数 System.out.println("共有"+number+"列"); for(int i=1;i<number;i++){ System.out.println(rsmd.getColumnName(i)+","+rsmd.getColumnTypeName(i)); } } }
===================================================================================
DbUtil.java类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* 通用方法
* @author Administrator
*
*/
public class DbUtil {
//驱动名称
private static String jdbcName="com.mysql.jdbc.Driver";
//mysql数据库地址
private static String dbUrl="jdbc:mysql://localhost:3306/db_book?useUnicode=true&characterEncoding=UTF-8";
//用户名
private static String dbUserName="root";
//密码
private static String dbPassword="root";
//获取数据库连接的方法
public Connection getCon() throws Exception{
Class.forName(jdbcName); //加载驱动
Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
return con;
}
//关闭数据库连接
public void close(Statement stmt,Connection con)throws Exception{
if(stmt!=null){
stmt.close();
if(con!=null){
con.close();
}
}
}
}