元数据:数据库、表、列的定义信息。
Connection.getDayabaseMetaData();
DataBaseMetaData对象
getURL():返回一个String类对象,代表数据库的URL。
getUserName():返回连接当前数据库管理系统的用户名。
GetDatabaseProductName():返回数据库的产品名称。
getDatabaseProductVersion():返回数据库的版本号。
getDriverName():返回驱动程序的名称。
GetDriverVersion():返回驱动程序的版本号。
isReadOnlv():返回一个boolean值,指示数据库是否允许读操作。
PreparedStatement.getParameterMetaData()
获取代表PreparedStatement元数据的ParameterMetaData对象。
Select * from user where name=? and password=?
ParamenterMetaData对象
getParameterCount():获取指定参数的个数
getParameterType(int param):获取指定参数的SQL类型
ResultSet.getMetaData()
获取代表ResultSet对象元数据的ResultSetMetaData对象
ResultSetMetaData对象:
getColumnCount():返回resultset对象的列数
getColumnName(int colimn):获得指定列的名称
getColumnTypeName(int column):获取指定列的类型
系统中所有实体对象都涉及到基本的CRUD操作:所有实体的CUD操作代码基本相同,仅仅发送给数据库的SQL语句不同而已,因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中,并定义参数接收变化的SQL语句。
实体的R操作,除SQL语句不同之外,根据操作的实体不同,对ResultSet的映射也各不相同,因此可义一个query方法,除以参数形式接收变化的SQL语句外,可以使用策略模式由qurey方法的调用者决定如何把ResultSet中的数据映射到实体对象中。