JDBC(Java Database Connectivity)JAVA数据库连接,它是一套用于执行SQL语句的Java API。JDBC可以通过不同驱动与不同数据库连接,相当于JAVA和数据库之间的桥梁。

    JDBC常用API:

      DriverManager类用于加载JDBC驱动并且创建于数据库的连接:

        registerDriver(Drive driver)  向DriverManager中注册给定的JDBC驱动。

        getConnection(String url, String user, String pwd)  建立与数据库的连接,并且返回Connection对象。

      Connection接口代表JAVA与数据库的连接,只有获得该连接对象后才能访问数据库:

        getMetaData()  返回表示数据库元数据的DatabaseMetaData对象。

        createStatement() 创建一个Statement对象并将SQL语句发送到数据库。

        prepareStatement(String  sql) 创建一个PreparedStatement对象并将参数化的SQL语句发往数据库。

        prepareCall(String sql) 创建一个CallabelStatement对象来调用数据库的存储过程。

      Statement接口用于执行静态的SQL语句,并且返回一个结果对象,该接口的对象通过Connection实例的createStatement() 方法获得。可以利用该对象执行静态SQL语句:

        execute(String sql) 执行各种SQL语句,并且返回一个布尔类型的值,如果为true代表所执行的SQL语句有查询结果,可以通过Statement的getResultSet()方法获得查询结果。

        executeUpdate(String sql) 用于执行SQL语句中的INSERT, UPDATE和DELETE语句,返回一个int型的值来表示数据库表中受影响的行数。

        excuteQuery(String sql) 执行SQL语句中的SELECT语句,该方法返回一个表示查询结果的ResultSet对象。

      PreparedStatement是Statement的子接口,用于执行预编译的SQL语句, SQL语句中可以用"?"代替参数,然后可以通过setXxx()方法为SQL语句的参数赋值:

        executeUpdate() 在此PreparedStatement对象中执行SQL语句,该语句必须是一个DML语句或者是无返回内容的SQL语句。

        executeQuery() 在此PreparedStatement对象中执行SQL查询,该方法返回的是ResultSet对象。

        SetInt(int parameterIndex, int x) 将指定的参数设置为给定int值,float String,Date 类型的同理。

        addBatch() 将一组参数添加到此PreparedStatement对象的批处理命令中。

        SetCharacterStream(int parameterIndex , java.io.Reader reader, int length) 将指定的输入流写入数据库的文本字段。

      ResultSet接口用于保存JDBC执行查询时返回的结果集,该结果集封装在一个逻辑表格中,该接口内部有一个指向表格数据行的游标,初始化时,游标在表格的第一行之前:

        getString(int columnIndex) 用于获得指定字段的String类型的值, 参数columnIndex代表字段的索引。int为 getInt(int columnIndex), Date同理。

        getString(String columnName) 用于获得指定字段的String类型的值, 参数columnName代表字段的名称。int为getInt(int columnName), Date同理。

        next() 将游标位置下移一行。

        absolute(int row) 将游标移动到指定行。

        beforeFisrt() 将游标移动到第一行之前。

        previous() 将游标上移一行。

        last() 将游标移动到最后一行。

  数据库连接池:JDBC每次创建和断开Connection对象都会消耗一定的时间和IO资源,为了避免频繁地创建数据库连接,出现了数据库连接池技术,数据库连接池是在初始化时创建一定数量的数据库连接放到连接池中,当应用程序访问数据库时不时直接创建Connection对象,而是向连接池申请一个Connection,使用完毕后连接池会将此Connection回收,并交付其他线程使用,提高数据库的访问效率。

    C3P0数据源常用方法:

      void setDriverClass() 设置连接数据库的驱动名称。

      void setJdbcUrl() 设置连接数据库的路径。

      void setUser() 设置数据库登录账号。

      void setPassword() 设置数据库的登录密码。

      void setMaxPoolSize() 设置数据库连接池最大的连接数目。

      void setMinPoolSize() 设置数据库连接池最小的连接数目。

      void setInitialPoolSize() 设置数据库连接池初始化的连接数目。

      Connection getConnection() 从数据库连接池中获取一个连接。

      ComboPooledDataSource() ComboPooledDataSource(String configName) 为创建C3P0数据源的构造方法。

      

    

JDBC及C3P0常用类的更多相关文章

  1. DbUtils是Apache出品一款简化JDBC开发的工具类

    DbUtils     - DbUtils是Apache出品一款简化JDBC开发的工具类     - 使用DbUtils可以让我们JDBC的开发更加简单     - DbUtils的使用:       ...

  2. JDBC数据库编程常用接口(转)

    JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各种关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现.这东西能够 ...

  3. Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver

    ========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...

  4. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  5. Java集合常用类特点整理

    集合的结构如下图所示: 集合的两个顶级接口分别为:Collection和Map Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序 ...

  6. Java集合框架(常用类) JCF

    Java集合框架(常用类) JCF 为了实现某一目的或功能而预先设计好一系列封装好的具有继承关系或实现关系类的接口: 集合的由来: 特点:元素类型可以不同,集合长度可变,空间不固定: 管理集合类和接口 ...

  7. java-API中的常用类,新特性之-泛型,高级For循环,可变参数

    API中的常用类 System类System类包含一些有用的类字段和方法.它不能被实例化.属性和方法都是静态的. out,标准输出,默认打印在控制台上.通过和PrintStream打印流中的方法组合构 ...

  8. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  9. iOS 杂笔-24(常用类到NSObject的继承列表)

    iOS 杂笔-24(常用类到NSObject的继承列表) NSString NSObject->NSString NSArray NSObject->NSArray ↑OC基本类都直接继承 ...

随机推荐

  1. UEFI Install CentOS 7

    bios必须设置u盘为第一启动项 编辑E:\EFI\BOOT\grub.cfg中所有inst.stage2=hd:LABEL=*与卷标名称一致(区分大小写)(linux系统写入镜像无需修改) inst ...

  2. 02vuex-modules

    01===> module的理解:将一个大的系统进行拆分 拆分成若干个细的模块 给个模块都有自己的 state mutations 等属性 这样可以在自己的小模块中进行修改 方便维护 modul ...

  3. vue全局路由守卫beforeEach+token验证+node

    在后端安装jsonwebtoken         npm i jsonwebtoken --save 在 login.js文件中引入      // 引入jwtconst jwt = require ...

  4. Python自动化运维之高级函数

    本帖最后由 陈泽 于 2018-6-20 17:31 编辑 一.协程 1.1协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没 ...

  5. 2019.6.13_MySQL简单命令的使用

    1.show databases; -- 显示当前连接下的数据库 2.use db_name;   -- 使用当前数据库db_name 3.show tables;      -- 显示当前数据库下数 ...

  6. mysql 导入sql文件的几种形式

    1.没有登陆mysql的时候以文件的形式导入mysql数据 在students.sql文件中加入这些语句 create table t_student( id int primary key auto ...

  7. 用pip命令把python包安装到指定目录

    sudo pip install transforms3d --target=/usr/local/lib/python2.7/site-packages pip install transforms ...

  8. 牛客OI周赛13-提高组-0还是1-(dp+位运算)

    https://ac.nowcoder.com/acm/contest/2970/A 给出长度为n的一连串位运算符号,用n+1个0或1使运算插入最后得到1,求01序列有多少种可能. dp[i][j]表 ...

  9. c#数组没有Remove方法,转换为list,再使用Remove方法(例如数组 a,b,c 去除b 只剩a c)

    c#数组没有Remove方法,转换为list再移除,因为list自带Remove方法 string   aaa=a,b,c; var array=aaa.Split(',');//   数组 List ...

  10. Python实现网络图形化界面多人聊天室 - Windows

    Python实现网络图形化界面多人聊天室 - Windows 项目名称:网络多人聊天室图形界面版本 项目思路: server.py 服务端文件,主进程中,创建图形化界面,询问地址(主机名,端口),点击 ...