• 数据库 元数据


    package com.itheima.test;
    
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.ParameterMetaData;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import org.junit.Test;
    
    import com.itheima.utils.C3P0Util;
    
    /**
     * 元数据:
     *        数据库元数据
     *       参数元数据
     *       结果集元数据
     * @author wangli
     *
     */
    public class MetaDataTest {
    
        @Test  //数据库元数据
        public void testDataBase(){
            Connection con = null;
            Statement st = null;
            try {
                con = C3P0Util.getConneciton();
                
                //获取数据库元数据
                DatabaseMetaData dmd = con.getMetaData();
                //元数据中包含的数据库名,数据库版本信息
                String productName = dmd.getDatabaseProductName();//元数据中包含的数据库名
                String version = dmd.getDatabaseProductVersion();//得到版本
                System.out.println(productName+","+version);
                
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                C3P0Util.release(null, st, con);
            }
        }
        @Test   //数据库元数据
        public void testParameterMetaData(){
            Connection con = null;
            PreparedStatement st = null;
            try {
                con = C3P0Util.getConneciton();
                st = con.prepareStatement("insert into account values(?,?,?)");
                //st = con.prepareStatement("?????");
                
                ParameterMetaData pmd = st.getParameterMetaData();//用于获取参数元数据对象
                
                //获取元数据 : 参数个数
                int count = pmd.getParameterCount();
                System.out.println(count+"");
                
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                C3P0Util.release(null, st, con);
            }
        }
        
        @Test   //结果集元数据
        public void testResultSetMetaData(){
            Connection con = null;
            PreparedStatement st = null;
            ResultSet rs = null;
            try {
                con = C3P0Util.getConneciton();
                st = con.prepareStatement("select * from account");
                rs  = st.executeQuery();
                
                //取出结果集元数据对象
                ResultSetMetaData rsmd = rs.getMetaData();
                
                //得到列数
                int count = rsmd.getColumnCount();//得到了列数
                for (int i = 1; i <=count; i++) {
                    //得到每列列名
                    String columnName= rsmd.getColumnName(i);
                    //得到列的类型
                    String columnType = rsmd.getColumnTypeName(i);
                    
                    System.out.println(columnName+":"+columnType);
                }
                
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                C3P0Util.release(rs, st, con);
            }
        }
    }
  • 相关阅读:
    java实现打印倒直角三角形
    java实现打印倒直角三角形
    java实现打印倒直角三角形
    java实现打印直角三角形
    java实现打印直角三角形
    java实现打印直角三角形
    计算一个班的平均分
    计算一个班的平均分
    计算一个班的平均分
    Creating a Message Queue in PHP Without External Libraries
  • 原文地址:https://www.cnblogs.com/baijin05/p/5075266.html
Copyright © 2020-2023  润新知