• JDBC-java访问数据库


    定义:JDBC是一个独立于数据库管理系统的,通用的SQL数据库存取和操作的公共接口

        (由JAVA类和接口组成,接口由各数据库厂家负责实现)

    使用方法:

    1、加载驱动  Class.forName(“数据库驱动全类名”)

    Class.forName("oracle.jdbc.driver.OracleDriver");  Oracle加载驱动写法

    2、获取连接  DriverManager.getConnection(连接数据库的URL,数据库账号,数据库密码)

    例:(链接本机数据库)

    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "账号", "密码");

    (连接数据库的URL为  jdbc:oracle:thin:@地址:1521:数据库名)

    (都会返回  Connection)

    DatabaseMetaData a = conn.getMetaData()  数据库源数据

       getMetaData()  返回数据库源数据

    3、获取操作声明  

    Statement a = conn.createStatement();

    a.executeUpdate(“增删改语句”)  (添加和修改时返回的是受影响的记录条数)

    a.executeQuery(“查询语句”)  (返回 ResultSet 结果集)

    PreparedStatement   执行编译语句的操作声明

    特点  是Statement的子类,执行效率高,防止SQL注入

    用法  connection 对象.prepareStatement(sql语句)   sql语句可以用问号作为占位符

        替换占位符   setXXX(占位符序号,替换的内容)  根据XXX的数据类型和占位符序号进行内容替换(占位符序号从1开始)

    CallableStatement  执行存储过程的操作声明

    是PreparedStatement的子接口

    4、处理结果集

    ResultSet a = b.executeQuery(“查询语句”);

    遍历

    while(a.next()){

    String sno = a.getString("sno");
    String cno = a.getString("cno");
    String degree = a.getString("degree");
    System.out.println(cno+" "+cno+" "+degree);
    }

    ResultSetMetaData a = b.getMetaData()  返回结果集的源数据

    next()  判断并返回是否存在下一行,如果存在就跳转到下一行

    getXXXX(字段序号或字段名称)  根据字段序号或字段名称返回XXXX类型的字段数据

    frist()  跳转到首行

    last()  跳转到尾行

    getRow()  获取当前行号

    5、事务  数据库中构成单个逻辑工作单元的操作集合

    特性ACID  A原子性

           C一致性

           I隔离性

           D制约性

    实现  connection对象.setAutoCommit(false)  关闭自动提交

        connection对象.commit()  操作数据之后进行提交

        connection对象.rollback()  如果有数据异常就回滚

    6、数据库连接池  负责分配、管理和释放数据库连接

               允许应用程序使用现有的连接

      ComboPooledDataSource 数据源  构造方法  ComboPooledDataSource()

                              ComboPooledDataSource(“配置名称”)  通过配置文件配置项构建数据源的实例

                                                    c3p0-config.xml

      方法  setDriverClass  设置驱动类

          setJdbcUrl  设置数据库地址

          setUser  设置用户

          setPassword  设置密码

          setMinPoolSize  设置链接最小数量

          setMaxPoolSize  设置链接最大数量

          setInitialPoolSize  设置初始连接数量

          getConnection  获取链接对象

      用法  可以使用单例模式,在整个系统使用一个连接池 

    7、实体类

          

  • 相关阅读:
    [LeetCode]题解(python):094-Binary Tree Inorder Traversal
    [LeetCode]题解(python):093-Restore IP Addresses
    [LeetCode]题解(python):092-Reverse Linked List II
    [LeetCode]题解(python):091-Decode Ways
    第二阶段团队冲刺1
    进度总结报告十三
    梦断代码阅读笔记02
    第一阶段对各组的意见评价
    进度总结报告十二
    软件开发冲刺10
  • 原文地址:https://www.cnblogs.com/jingfengling/p/5977862.html
Copyright © 2020-2023  润新知