1. 元数据- DataBaseMetaData
元数据:数据库、表、列的定义信息。
Connection.getDatabaseMetaData()
DataBaseMetaData对象
getURL():返回一个String类对象,代表数据库的URL。
getUserName():返回连接当前数据库管理系统的用户名。
getDatabaseProductName():返回数据库的产品名称。
getDatabaseProductVersion():返回数据库的版本号。
getDriverName():返回驱动驱动程序的名称。
getDriverVersion():返回驱动程序的版本号。
isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。
2. 元数据- ParameterMetaData
PreparedStatement . getParameterMetaData()
• 获得代表PreparedStatement元数据的ParameterMetaData对象。
• Select * from user where name=? And password=?
ParameterMetaData对象
• getParameterCount()
• 获得指定参数的个数
• getParameterType(int param)
• 获得指定参数的sql类型
3. 元数据- ResultSetMetaData
ResultSet. getMetaData()
获得代表ResultSet对象元数据的ResultSetMetaData对象。
ResultSetMetaData对象
• getColumnCount() :返回resultset对象的列数
• getColumnName(int column) :获得指定列的名称
• getColumnTypeName(int column):获得指定列的类型
4.重点内容:使用元数据简化JDBC代码
业务背景:系统中所有实体对象都涉及到基本的CRUD操作:
所有实体的CUD操作代码基本相同,仅仅发送给数据库的SQL语句不同而已,因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中,并定义参数接收变化的SQL语句。实体的R操作,除SQL语句不同之外,根据操作的实体不同,对ResultSet的映射也各不相同,因此可义一个query方法,除以参数形式接收变化的SQL语句外,可以使用策略模式由qurey方法的调用者决定如何把ResultSet中的数据映射到实体对象中。
5. 以上知识点的案例分析
DatabaseMetaData类
package com.csdn.demo;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import com.csdn.uil.DBManager_c3p0;
public class Demo3 {
private static Connection con = null;
public static void main(String[] args) {
try {
con = DBManager_c3p0.getCon();
DatabaseMetaData dbmd = con.getMetaData();
System.out.println(dbmd.getURL());
System.out.println(dbmd.getDriverName());
System.out.println(dbmd.getDriverVersion());
System.out.println(dbmd.getDatabaseProductName());
System.out.println(dbmd.getDatabaseProductVersion());
} catch (SQLException e) {
e.printStackTrace(
心得3--JDBC增删改查模版编写与案例
最新推荐文章于 2023-04-05 01:38:42 发布