数据库存储结构定义信息(库,表,列,定义信息)
学习元数据元素API获得数据库,表,列定义信息
1.DatabaseMetaData数据库元数据—–获取数据库结构信息
新建工程
将mysql驱动 以及c3p0驱动复制到目录中(修改数据库连接参数)
编写JDBCUtils(用c3p0连接池获取一个连接)
package com.dbutils.test;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class Dbutils {
//获取数据库连接通过c3p0连接池
//自动读取xml配置文件
private static DataSource dataSource=new ComboPooledDataSource();
public static Connection getConnection()throws SQLException{
return dataSource.getConnection();
}
//释放资源
public static void realease(ResultSet rs,Statement stmt,Connection con){
if(rs!=null){
try{
rs.close();
}
catch(Exception c){
c.printStackTrace();
}
rs=null;
}
if(stmt!=null){
try{
stmt.close();
}
catch(Exception a){
a.printStackTrace();
}
if(con!=null){
try{
con.close();
}
catch(Exception c){
c.printStackTrace();
}
con=null;
}
}
}
}
create table users(id int primary key not null auto_increment,username varchar(30),password varchar(30),email varchar(100));
insert into users values(null,‘zs’,’zadianlun@qq.com’);
insert into users values(null,’masan’,’xinxigong’,’469522@163.com’);
获得jdbc连接编写
2。ParameterMetaData参数元数据====获得预编译sql语句的?信息
getParameterCount()参数个数—-?个数
getParameterType(int param)—–参数类型名称
获得类型时:
java.sql.SQLException:Parameter metadata not available for the given statement
3。ResultSetMetaData结果元数据——获得结果集列名称,数量,类型。
getColumnCount()返回resultset对象的列数
getColumnName(int column)获取指定列名称
getColumnTypeName(int column)获得指定列的类型
总结:学习jdbc元数据可以编写元数据的框架
每次编写jdbc程序都发现存在好多重复代码—-通过通用程序进行简化
1.通过CUD方法进行设计
create table useraccount(id int not null primary key auto_increment,name varchar(30),money double);