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数据源的构造方法。

      

    

最新文章

  1. mysql 命令导入导出
  2. synchronized四要素及抽象
  3. 面向对象php基本格式、构造、析构、访问修饰符
  4. duilib进阶教程 -- 设置资源路径 (15)
  5. [CareerCup] 8.6 Jigsaw Puzzle 拼图游戏
  6. PHP生成token防止表单重复提交
  7. 应用部署到JBOSS上遇到的问题
  8. C++的表驱动法
  9. python之optparse模块
  10. Windows Server2003本地用户的批量导入和导出(转)
  11. iOS 中的屏幕旋转shouldAutorotate和supportedInterfaceOrientations的先后关系
  12. Android Studio无线连调式android手机
  13. 解决Django + DRF:403 FORBIDDEN:CSRF令牌丢失或不正确,{"detail":"CSRF Failed: CSRF cookie not set."}
  14. 【百度地图API】如何获取行政区域的边界?(转载)
  15. Activiti的部署问题
  16. UVALive 7512 November 11th 题解
  17. WPF实现可视化控件打印及打印预览
  18. 跟我学SharePoint 2013视频培训课程—— 审批、拒绝列表项(13)
  19. js上传本地图片遇到的问题
  20. C# Session操作

热门文章

  1. python 将带有TZ的UTC时间字符串,转换成本地时间
  2. .gclient文件
  3. 第50 课C++对象模型分析——成员函数(上)
  4. Oracle SQL日期及日期格式获取命令
  5. Linux通过端口号查看使用进程-结束进程
  6. Hive 读书札记
  7. Jmeter怎么搭建环境
  8. [C8] 聚类(Clustering)
  9. luoguP4248 [AHOI2013]差异
  10. 【oracle】INSERT INTO SELECT