编写自己的JDBC框架之元数据

编写自己的JDBC框架所涉及到的几个知识点先了解一下。
元数据:拿到元数据,就相当于拿到了数据库的定义信息。

元数据 - DataBaseMetaData

编写自己的JDBC框架之元数据_第1张图片
元数据 - DataBaseMetaData

这个是拿到库的元数据。

Connection conn = null;
conn = JdbcUtils_c3p0.getConnection();
DatabaseMetaData meta = conn.getMetaData();
System.out.println(meta.getDatabaseProductVersion());
System.out.println(meta.getDatabaseMajorVersion());
System.out.println(meta.getDatabaseMinorVersion());
System.out.println(meta.getDatabaseProductName());

元数据 - ParameterMetaData

编写自己的JDBC框架之元数据_第2张图片
元数据 -ParameterMetaData

这个是拿到参数的元数据。

        Connection conn = JdbcUtils_c3p0.getConnection();
        String sql = "insert into user(id,name) values(?,?)";
        PreparedStatement ps = conn.prepareStatement(sql);

        //得到sql语句的参数元数据
        ParameterMetaData meta = ps.getParameterMetaData();
        //得到要往里面插入几个参数,也就是有几个问号
        System.out.println(meta.getParameterCount());
        //mysql这里得不到参数的类型,会报错
        System.out.println(meta.getParameterType(1));

元数据 - ResultSetMetaData

编写自己的JDBC框架之元数据_第3张图片
元数据 - ResultSetMetaData
        Connection conn = JdbcUtils_c3p0.getConnection();
        String sql = "select * from account";
        PreparedStatement ps = conn.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        ResultSetMetaData meta = rs.getMetaData();

        //得到结果集的列数
        System.out.println(meta.getColumnCount());
        //得到每列的属性
        System.out.println(meta.getColumnName(1));
        System.out.println(meta.getColumnName(2));
        System.out.println(meta.getColumnName(3));

下篇:编写自己的JDBC框架

你可能感兴趣的:(编写自己的JDBC框架之元数据)