获取到DatabaseMetaData类 可以详细的获取数据库的信息
通过connection获取
Connection connection_2 = DriverManager.getConnection(properties.getProperty("shopping_url"), properties);
atabaseMetaData metaData = connection_2.getMetaData();
getURL():返回一个String类对象,代表数据库的URL。
getUserName():返回连接当前数据库管理系统的用户名。
isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。
getDatabaseProductName():返回数据库的产品名称。
getDatabaseProductVersion():返回数据库的版本号。
getDriverName():返回驱动程序的名称。
getDriverVersion():返回驱动程序的版本号。
获取结果的元数据的列的类型和属性信息
getColumnCount():返回当前 ResultSet 对象中的列数。
getColumnName(int column):获取指定列的名称
getColumnLabel(int column):建议标题通常由 SQL AS 子句来指定。如果未指定 SQL AS,则返回列名 getColumnTypeName(int column):检索指定列的数据库特定的类型名称。
getColumnDisplaySize(int column):指示指定列的最大标准宽度,以字符为单位。
isNullable(int column):指示指定列中的值是否可以为 null。
isAutoIncrement(int column):指示是否自动为指定列进行编号,这样这些列仍然是只读的
数据库连接池的使用
开源的数据库连接池 DBCP C3P0
通过javax.sql.DataSource
学习两个开源库的配置的方法
可以新建source folder文件夹 然后将配置文件放置在里面
取别名 可以不用as
select gname as name from table1
等同于
select gname name from table1
获取父类的泛型参数的类型
public class BasicDAO<T> {
private Class type;
public BasicDAO(){
Class clazz = this.getClass();
ParameterizedType t = (ParameterizedType) clazz.getGenericSuperclass();
Type[] as = t.getActualTypeArguments();
type = (Class) as[0];//这就是获取的T的实际类型
}
}