JDBC编程简介

古城微笑少年丶 2022-09-25 00:27 287阅读 0赞

JDBC编程简介

jdbc的定义:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

jdbc编程步骤:

  1. [注意]:需要先将mysql提供的对应jar包导入项目
  1. 加载驱动:
  1. * Class.forName(“com.mysql.jdbc.Driver”); //加载MySql数据库(或者通过new)
  2. * new com.mysql.jdbc.Driver();
  1. 获取Connection对象:

    • Connection conn = DriverManger.getConntection(“jdbc:mysql://localhost:8080/db_name”);
    • Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:8080/db_name”,”username”,”password”);
  2. 获取状态

    • Statement stmt = conn.createStatement();
    • Statement stmt = conn.createStatement(resultSetType,resultSetConcurrency);
      [注]resultSetType:结果集类型,有三种ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE(对滚动不敏感),ResultSet.TYPE_SCROLL_SENSITIVE(对滚动敏感);resultSetConcurrency:并发类型,有2种ResultSet.CONCUR_READ_ONLY(并发操作是只读,对所有数据库支持),ResultSet.CONCUR_UPDATABLE(并发操作时可更新,有些 有些数据库不支持)
  3. 执行SQL语句

    • stmt.execute(“”);
    • stmt.executeQuery(“”);//执行查询语句
    • stmt.executeUpdate(“”);//执行更新语句
  4. 获取ResultSet结果集

    • ResultSet result = stmt.executeQuery(“”);
    • while (result.next()) { } //循环获取
  5. 关闭 (最后的最先关)
  1. * result.close();
  2. * stmt.close();
  3. * conn.close();

Statement与PreparedStatement的区别

PreparedStatement继承Statement。

  • Statement:由方法createStatement所创建。Statement对象用于发送简单的SQL语句。
  • PreparedStatement:由方法prepareStatement所创建。PreparedStatement对象用于发送带有一个或多个输入参数(IN参数)的SQL语句。PreparedStatement拥有一组方法,用于设置IN参数的值。
  • 执行语句的区别

    • Statement stmt = conn.createStatement();
    • stmt.execute(“insert into table_name values (2, 14, ‘LISI’)”
    • //
    • PreparedStatement pstmt = conn.prepareStatement(“insert into table_name values (?, ?, ?)”);
    • pstmt.setInt(1, 2);
    • pstmt.setInt(2, 14);
    • pstmt.setString(3, “LISI”);  
  • 批处理及其区别
  1. * stmt.addBatch(“insert into table\_name values (2, 14, LISI’)”);
  2. * stmt.addBatch(“insert into table\_name values (3, 16, ZHANGSAN’)”);
  3. * stmt.executeBatch();
  4. * //
  5. * pstmt.addBatch(“insert into table\_name values (?, ?, ?)”);
  6. * pstmt.setInt(1, 2);
  7. * pstmt.setInt(2, 14);
  8. * pstmt.setString(3, LISI”);
  9. * pstmt.addBatch(“insert into table\_name values (?, ?, ?)”);
  10. * pstmt.setInt(1, 3);
  11. * pstmt.setInt(2, 16);
  12. * pstmt.setString(3, ZHANGSAN”);

事务

  1. Connection conn = null;
  2. Statement stmt = null;
  3. try {
  4. Class.forName("com.mysql.jdbc.Driver");
  5. conn = DriverManager.getConnection("jdbc:mysql://localhost:8080/db_name", "username", "password");
  6. conn.setAutoCommit(false);//设置不自动提交(默认自动提交sql语句)
  7. stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);//params1:设置ResultSet的TYPE;params2:设置并发
  8. stmt.execute("insert into table_name values (2, 14, 'LISI')");
  9. conn.commit();
  10. conn.setAutoCommit(true);//恢复现场
  11. } catch (ClassNotFoundException e) {
  12. e.printStackTrace();
  13. } catch (SQLException e) {
  14. if (conn != null){
  15. try {
  16. conn.rollback();//事务回滚
  17. conn.setAutoCommit(true);
  18. } catch (SQLException e1) {
  19. e1.printStackTrace();
  20. }
  21. }
  22. e.printStackTrace();
  23. } finally {
  24. try {
  25. if (conn != null) {
  26. conn.close();
  27. }
  28. if (stmt != null) {
  29. stmt.close();
  30. }
  31. } catch (SQLException e) {
  32. e.printStackTrace();
  33. }
  34. }

发表评论

表情:
评论列表 (有 0 条评论,287人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDBC版本简介

    JDBC 版本是 JDBC 软件的发布,在 JDK 实现中有多个可用的 JDBC 版本。JDBC 目前的稳定版本是 4.3,发布于2017 年 9 月21日,版本 4.3 是一

    相关 JDBC简介

    JDBC简介 对于现在的开发几乎所有的项目都是围绕着数据库展开的,很少会遇到没有数据库而独立存在的项目,所以任何一门编程语言要想发展,那么必须对数据的开发有所支持,同样,

    相关 JDBC简介

    JDBC是在java平台上连接到数据库的一类API接口,能够连接数据库,连接数据库的步骤如下: 1,加载驱动器,如Class.forName(DBRIVER),驱动器的作用

    相关 JDBC 简介

    JDBC英文全称是Java Database Connectivity,也就是Java数据库连接。这是一个Java连接SQL数据库的标准,包含了常用的API,让我们能方便的连接

    相关 JDBC简介

        JDBC(Java Database Connectivity)Java数据库连接,是一种可以执行SQL语句的Java API。程序可以通过JDBC API连接到关系数

    相关 Jdbc系列一:简介

    一、数据持久化  持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加