微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JDBC

 复习操作:1、JDBC的增删改查(用preparestatement)2、转账案例实现事务管理。

JDBC:

JDBC: Java Database Connectivity  -  Java数据库连接,用Java操作数据库

JDBC本质:其实是官方定义的一套操作所有关系型数据库的规则,即接口。由各个数据库厂商实现接口,提供数据库驱动jar包

JDBC快速入门:

1、步骤:导入驱动jar包 -- 复制jar包到libs目录下,右键 -- add as library 

      注册驱动 -- 获取数据库连接对象Connection -- 定义sql -- 获取执行sql语句的对象                             statement -- 执行sql 返回结果 ,处理结果 -- 释放资源

2、详解各个对象。

  1、DriverManager:驱动管理对象

    * :功能:1、注册驱动:告诉程序该使用哪一个数据驱动jar

               static void registerDriver(Driver driver)- 注册DriverManager

                  写代码使用:Class.forName(MysqL.jdbc.Driver)

               原理:上面的方法存在于静态代码块中,加载类时就自动创建

               注意:MysqL5之后的jar包可以省略该步骤。

           2、 获取数据库连接:方法:static Connection getConnection(String url,                           String user ,String password)

                      参数:url:指定连接的路径 jdbc:MysqL://ip:端口/数据库

  2、Connection:数据库连接对象

    * : 功能:1、获取执行sql的对象: Statement createStatement()、PreparedStatement                                                            (String sql

         2、管理事务:开启事务:setAutoCommit(boolean autoCommit) 为false时开启

               提交事务:commit()

                回滚事务:rollback()

  3、Statement:执行sql的对象

    * :执行sql:1、int executeUpdate(String sql):执行insert、update、delete等语句。

            返回受影响的行数,可以判断sql是否执行成功。

           2、ResultSet executeQuery(String sql):执行select语句。

    * :练习:增删改查语句。

  4、ResultSet:结果集对象,封装查询结果。

    *  next():游标指向下一行(认指向列名这行)

    * getXXX():获取数据。XXX:int-代表列的编号。String-列名。

    * 用法:指向下一行-判断是否有数据-获取数据   循环操作

  5、PreparedStatement:执行sql的对象

     * sql注入问题:在拼接sql时,有一些sql的特殊关键字参加了字符串的拼接,会造成安                                             全问题。

    * 解决sql注入:使用PreparedStatement 对象来解决

    * 预编译的sql : 参数使用?作为占位符。

    * 步骤:修改上面的步骤。

      1、定义sql时,参数用?代替:select * from user where id=?;

      2、获取sql语句的对象改为:PreparedStatement -->Connection.prepareStatement                                   (String sql)

      3、给?赋值:方法:setxxx(参数1,参数2)参数1:?的位置 。 参数2:?的值。

JDBC控制事务:

使用Connection来操作:

  开启事务:setAutoCommit(boolean autoCommit) 为false时开启 。执行sql

  提交事务:commit() 所有sql执行完

  回滚事务:rollback() 放catch里。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐