ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-8-18第一组孙乃宇JDBC

2022-08-18 19:32:35  阅读:121  来源: 互联网

标签:jdbc String 18 数据库 sql 2022 mysql 执行 孙乃宇


JDBC

  1. 概念:Java DataBase connectivity Java数据库连接,Java语言操作数据库

JDBc本质∶其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程 ,真正执行的代码是驱动jar包中的实现类。

快速入门

1.导入驱动jar包

1. 复制 mysql-connector-java-5.1.37-bin.jar 到项目的libs目录中

2.右键-->Add as Library

2.注册驱动

3.获取数据库连接对象connection

4.定义sql

5.获取执行sql语句的对象statement

6.执行sql,接受返回结果

7.处理结果

  1. 释放资源

详解各个对象

DriverManager:驱动管理对象

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

static void registrDriver(Driver driver):注册与给定的驱动程序DriverManager。

写代码使用:Class.forName("com.mysql.jdbc.Deiver");

通过查看源码发现:在com.mysql.jdbc.Driver 类中存在静态代码块

 static {
       try {
           DriverManager.registerDriver(new Driver());
      } catch (SQLException var1) {
           throw new RuntimeException("Can't register driver!");
      }
  }

注意:mysql之后的驱动jar包可以省略注册驱动时的步骤

  1. 获取数据库连接

    方法:static Connection getConnection

    参数:url:指定连接的路径

    语法:jdbc:mysql://ip地址(域名):端口号/数据库名称

    例子:jdbc:mysql://localhost:3306/db3

    细节:如果连接的时本机mysql服务器,并且mysql服务器默认端口号是3306,则 url可以简写为:jdbc:mysql:///数据库名称

    user:用户名

    password:密码

Connection:数据库连接对象

  1. 功能:获取执行sql的对象

Sstatement createStatement ()

PreparedStatement prepareStatement(String sql)

  1. 管理事务

    开启事务: void setAutoCommit(boolean autoCommit) 此连接的自动提交模式设置为给定状态。

    提交事务:commit()

    归滚事务:rollback()

Statement执行sql的对象

执行sql的对象:用于执行静态 SQL 语句并返回它所生成结果的对象。

  1. 执行sql

    1. boolean execute(String sql):可以执行任意的sql (了解)

    2. int executeUpdate(String sql): 执DML(insert,update,delete) 语句、DDL(create,alter,drop)语句

      返回值:int 影响的行数,可以通过这个影响的行数判断DML语句是否执行成功 返回值>0的则执行成成功,反之,则失败。

    3. ResultSet executeQuery(String sql):执行DQL(select)语句

 @Test
   public void test01() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, SQLException {
       String url = "jdbc:mysql://127.0.0.1:3306/db4?userUnicode=true&characterEncoding=utf8";
       String username = "root";
       String password = "root";
       String driverName = "com.mysql.jdbc.Driver";
       //1.加载驱动类
       Class clazz = Class.forName(driverName);
       //2.实例化Driver对象
       Driver driver = (Driver) clazz.getDeclaredConstructor().newInstance();
       //3.注册驱动
       DriverManager.registerDriver(driver);
       //4.获取连接
       Connection connection = DriverManager.getConnection(url, username, password);
       //执行sql的步骤
       //1.获取连接
       statement = connection.createStatement();
       //2.定义sql
       //3.执行sql语句
       String sql="insert into teacher (id,name) values (6,'Jay')";
       String delete="DELETE FROM teacher WHERE id=5";
       String update="update teacher set name='sun' where id=3";
       //返回值是执行sql语句的行数
       //4.处理执行sql的返回值
       //int i = statement.executeUpdate(sql);
       int i = statement.executeUpdate(update);
       System.out.println("影响的行数"+i);
  }
 

标签:jdbc,String,18,数据库,sql,2022,mysql,执行,孙乃宇
来源: https://www.cnblogs.com/sunnaiyu/p/16599837.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有