JDBC总结03-几个重要接口

三、几个重要接口:  
(1) Statement —— SQL 语句执行接口  
    Statement 接口代表了一个数据库的状态,在向数据库发送相应的 SQL 语句时,都需要 
创建 Statement 接口或者 PreparedStatement 接口。在具体应用中,Statement 主要用于操作不 
带参数(可以直接运行)的 SQL 语句,比如删除语句、添加或更新。 
(2) PreparedStatement:预编译的 Statement  
    第一步:通过连接获得 PreparedStatement 对象,用带占位符(?)的 sql 语句构造。 
          PreparedStatement pstm = con.preparedStatement(“select * from test where id=?”); 
    第二步:设置参数 
          pstm.setString(1, ganbin”); 
                           “ 
    第三步:执行 sql 语句 
        Rs = pstm.excuteQuery(); 
        statement 发送完整的 Sql 语句到数据库不是直接执行而是由数据库先编译,再运行。 
   而 PreparedStatement 是先发送带参数的 Sql 语句,再发送一组参数值。如果是同构的 sql 
   语句,PreparedStatement 的效率要比 statement 高。而对于异构的 sql 则两者效率差不多。 
   同构:两个 Sql 语句可编译部分是相同的,只有参数值不同。 
   异构:整个 sql 语句的格式是不同的 
    注意点:1、使用预编译的 Statement 编译多条 Sql 语句一次执行 
              2、可以跨数据库使用,编写通用程序 
              3、能用预编译时尽量用预编译 
(3) ResultSet —— 结果集操作接口  
    ResultSet 接口是查询结果集接口,它对返回的结果集进行处理。ResultSet 是程序员进行 
JDBC 操作的必需接口。 
(4) ResultSetMetaData —— 元数据操作接口  
    ResultSetMetaData 是对元数据进行操作的接口,可以实现很多高级功能。Hibernate 运行 
数据库的操作,大部分都是通过此接口。可以认为,此接口是 SQL 查询语言的一种反射机 
制。ResultSetMetaData 接口可以通过数组的形式,遍历数据库的各个字段的属性,对于我们 
开发者来说,此机制的意义重大。 
   JDBC 通过元数据(MetaData)来获得具体的表的相关信息,例如,可以查询数据库中有哪 
些表,表有哪些字段,以及字段的属性等。MetaData 中通过一系列 getXXX 将这些信息返 
回给我们。 
                    数据库元数据 Database MetaData            使用 connection.getMetaData()获得 
MetaData 包括:                                          包含了关于数据库整体元数据信息。 
                    结果集元数据 Result Set MetaData          使用 resultSet.getMetaData()获得 
                                                 比较重要的是获得表的列名、                列数等信息。 
结果集元数据对象:ResultSetMetaData meta = rs.getMetaData(); 
                    字段个数:meta.getColomnCount(); 
                    字段名字:meta.getColumnName(); 
                    字段 JDBC 类型:meta.getColumnType(); 
                    字段数据库类型:meta.getColumnTypeName(); 
数据库元数据对象:DatabaseMetaData dbmd = con.getMetaData(); 
        数据库名=dbmd.getDatabaseProductName(); 
        数据库版本号=dbmd.getDatabaseProductVersion()     ; 
        数据库驱动名=dbmd.getDriverName()       ; 
        数据库驱动版本号=dbmd.getDriverVersion()        ; 
        数据库 Url=dbmd.getURL()    ; 
        该连接的登陆名=dbmd.getUserName()         ; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值