jdbc基础总结

Odbc是微软提出访问数据库的标准,在不同程序访问不同数据库
jdbc是sum提出访问数据库的标准 在java里访问不同数据库的标准

JDBC API组成包括2部分
  • JDBC与数据库底层的驱动(不关心)
  • 应用程序开发接口(重点使用)

在Java中所有操作数据库的类,都位于两个包:

  • Java.sql.* - 基本
  • Javax.sql.* - 扩展 (连接池)

1.java.sql.Driver 所有的jdbc驱动必须要实现该接口

2.java.sql.DriverManage类 管理一组jdbc驱动(一个查询当中可能要连接多个不同的数据库)

3:java.sql.Connection(接口) –建立数据库的连接(查询与数据库直接的桥梁)

4:java.sql.Statement(接口) 与数据库进行通信(dml) --PreparedStatement预编译 继承Statement接口 ---CallableStatement调用数据库的存储过程 继承PreparedStatement接口

5:java.sql.ResultSet (接口)---结果集对象 看做是java程序运行内存里面的一张表的数据 DatabaseMetadata--ResultSetMetadata 数据库和结果集的元数据信息


       Connection conn=null;
       Statement stm=null;
       ResultSet rs=null;


       try {
        Class.forName("com.mysql.jdbc.Driver");

        conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/springmvcdemo","root","");
        conn.setAutoCommit(false);
        stm=conn.createStatement();
        String sql=" update  score set chinese=88 where id=2";

        int a =stm.executeUpdate(sql);
        if(a>0){
            System.out.println("插入成功");
        }




       conn.commit();
jdbc注册驱动
  • 省略
  • Class.forname类加载的方式
  • 直接new jdbc驱动实现了java.sql.Driver的类(不同的jdbc驱动不一样)
  • 属性文件

    //1.省略注册驱动
        //2.类加载的方式
        Class.forName("com.mysql.jdbc.Driver");
        //3.直接new jdbc驱动类  等同于类加载
        com.mysql.jdbc.Driver  mysql=new com.mysql.jdbc.Driver();
        //4.读取属性文件
        Properties pro=new Properties();
        pro.load(new FileInputStream("/src/db.properties"));
        Class.forName(pro.getProperty("drsir"));

Connection获取的方式
  • DriverManager
  • 属性文件
  • Drv.connect 通过创建的jdbc驱动类的connect 方法获取


    //1.DriveManager
  Connection connection=DriverManager.getConnection(URL,user,Password);
    //2.属性文件的方式,把连接字符串  及用户名 密码 都写到属性文件里面去
     Properties p=new Properties();
      p.load(new FileInputStream("src/com/oracle/NewTeacher2016_5_29_jdbc/db.properties"));
      Connection connection2=DriverManager.getConnection(p.getProperty("constr"),p.getProperty("user"),p.getProperty("password"));


    //3.Drv.connect方法  通过创建jdbc驱动类的connect来获取
      Driver  mysqld=new com.mysql.jdbc.Driver();
      //connect第一个参数  连接的字符串
      //第二个参数  是一个属性文件对象,里面必须要有名字为user和密码为password
      //user=root password=
      mysqld.connect(URL, p);
Statement(查executeQuery 增executeUpdate...)
  • PreparedStatement(操作时候建议使用) 预编译执行sql语句,继承Statement接口 当重复执行相同的sql语句的时候(某些值是动态设置),只需要编译一次sql语句,相对于Statement可以提高执行效率

  • CallableStatement 执行数据库存储过程的对象 继承了PreparedStatement接口

ResultSet结果集

con.createStatement(结果集类型,结果集并发类型,结果集可保存性); 必须要jdbc驱动支持

#结果集类型

1、仅向前滚动
2、迟缓滚动(可前后滚动,不受数据库数据更新影响)
3、灵敏滚动(可前后滚动,受数据库数据更新影响

#结果集并发类型

1、不可更新
2、可以更新

#结果集可保存性

1.事务执行完毕之后自动关闭结果集
2.事务执行完毕之后不自动关闭结果集

kxind

性别:男. 敢于尝试 爱折腾的死宅程序猿. https://github.com/kxinds