JDBC1

摘要:
其中cid=?

1.jdbc的概述

  是sun公司统一提供的一套接口规范,各个数据库生产商提供实现

  注册驱动,获得连接,获得执行的SQL语句对象,释放资源

package com.learn.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.junit.Test;

public class Demo1 {
    Connection conn = null;
    @Test
    public void test() {
        try {
            //注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //获得连接
            String url = "jdbc:mysql///mydatebase";
            String user = "root";
            String password = "root";
            conn = DriverManager.getConnection(url, user, password);
        } catch (Exception e) {
            e.printStackTrace();
            //释放资源
            if( conn != null) {
                try {
                    conn.close();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
                //垃圾回收尽快回收对象
                conn = null;
            }
        }
    }
}

2.JDBC的API

  connection

JDBC1第1张

JDBC1第2张

JDBC1第3张

 JDBC1第4张

JDBC1第5张

JDBC1第6张

  statement

JDBC1第7张

JDBC1第8张

JDBC1第9张

JDBC1第10张

JDBC1第11张

JDBC1第12张

3.JDBC的元数据MataDate(提高通用性较高的代码)

  • DatabaseMetaData:获得数据库连接的信息,获得数据库的表的信息.

* 获得数据库元数据:Connection中getMetaData();

 

  • ParameterMetaData:获得SQL中的参数的个数及类型.

* 获得参数元数据:PreparedStatement中getParameterMetaData()

 

  • ResultSetMetaData:获得结果集中的列名及列的类型.

* 获得结果集元数据:ResultSet中getMeta()

4.元数据的使用

public void demo2(){
        Connection conn = null;
        conn = JDBCUtils2.getConnection();
        // 获得数据库元数据:
        try {
            DatabaseMetaData metaData = conn.getMetaData();
            System.out.println("获得驱动名称:"+metaData.getDriverName());
            System.out.println("获得驱动URL:"+metaData.getURL());
            System.out.println("获得用户名:"+metaData.getUserName());
            
            // 获得表中的主键:
            ResultSet rs = metaData.getPrimaryKeys(null, null, "category");
            if(rs.next()){
                String name = rs.getString("COLUMN_NAME");
                System.out.println(name);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

参数元数据

  

public void demo3(){
        Connection conn = null;
        PreparedStatement stmt = null;
        try{
            conn = JDBCUtils2.getConnection();
            String sql = "update category set cname = ? where cid = ?";
            stmt = conn.prepareStatement(sql);
            ParameterMetaData metaData = stmt.getParameterMetaData();
            int count = metaData.getParameterCount();
            System.out.println(count);
        }catch(Exception e){
            
        }
    }

结果集元数据

public void demo4(){
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try{
            conn = JDBCUtils2.getConnection();
            String sql = "select * from category";
            stmt = conn.prepareStatement(sql);
            rs = stmt.executeQuery();
            
            ResultSetMetaData metaData = rs.getMetaData();
            int count = metaData.getColumnCount();
            for(int i = 1;i<=count ;i++){
                String name = metaData.getColumnName(i);
                
                String type = metaData.getColumnTypeName(i);
                System.out.println(name+type);
            }
        }catch(Exception e){
            
        }
    }

免责声明:文章转载自《JDBC1》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Openstack的HA解决方案【mysql集群配置】将八进制的字符串转化为中文字符串(笨方法)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

彻底解决INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误、安装包与之前设备上的安装包签名不一致

有时候开发的问题:会遇到在公司上班的时候,公司的IDE能跑程序,把程序拷贝回家,再跑一次,就会出现以下错误: INSTALL_FAILED_UPDATE_INCOMPATIBLE 原因:就是你的安装包与之前设备上的安装包签名不一致。百度的时候,有的人说:运行太多次也会出现上述的问题,但我没遇到过。 简单处理: 如果你的程序只是自己跑着玩的,不是很重要的程序...

OpenStack是什么,OpenStack详解

1. OpenStack是什么 OpenStack官方的解释很官方,而且从不同角度,也有不同的理解,OpenStack可以理解为一个云操作系统 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageServic...

WPF 下两种图片合成或加水印的方式

最近项目中应用多次应用了图片合成,为了今后方便特此记下。 在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名空间是System.Drawing 和 System.Drawing.Imaging,另一种是WPF中新添加的API,命名空间是 System.Windows.Media 和 System.Windows.Media.Imag...

Kubelet 证书如何自动续期

一、问题现象和原因 Kubernetes 日志错误 当 Kubernetes 集群日志中出现certificate has expired or is not yet valid错误信息时,表明证书过期 证书过期原因 服务器时间不对,导致证书过期 确实证书过期了 证书过期,很多同学会很疑惑,我证书明明签署10年有效期或者更久,怎么刚1年就过期了,下面就...

sparkSQL以JDBC为数据源

一、环境准备 安装oracle后,创建测试表、数据: createtabletest( usernamevarchar2(32)primarykey, passwordvarchar2(32) ); insertintotestvalues('John','1234'); insertintotestvalues('Mike'...

【转】针对Android上的ROP攻击剖析

引言ROP(Return-oriented programming),即“返回导向编程技术”。其核心思想是在整个进程空间内现存的函数中寻找适合指令片断(gadget),并通过精心设计返回堆栈把各个gadget拼接起来,从而达到恶意攻击的目的。构造ROP攻击的难点在于,我们需要在整个进程空间中搜索我们需要的gadgets,这需要花费相当长的时间。但一旦完成了...