0426-0427课堂学习JDBC与Druid

本文介绍了JDBC的基本概念和使用步骤,强调了JDBC作为Java操作数据库的标准接口,以及在处理数据库连接时可能出现的编码问题。接着讲解了Druid,一个由阿里巴巴提供的数据库连接池,它的优点包括节约资源和提高用户访问效率。文中还概述了Druid的使用流程,并提供了获取和归还连接的方法。最后,提到了课堂案例,包括数据库开发和持久化操作的实践。
摘要由CSDN通过智能技术生成

0426-0427课堂学习JDBC与Druid

JDBC

  1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
    JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
  2. 使用步骤:
    • 导入驱动jar包:在pom.xml中加入<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.48</version> </dependency>

    • 注册驱动
      Class.forName(“com.mysql.jdbc.Driver”);

    • 获取数据库连接对象 Connection
      Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/band”, “root”, “root”);

    • 定义sql
      String sql = “INSERT INTO band(name,remark) values (‘软工一班’,‘张三’)”;

    • 获取执行sql语句的对象 Statement
      Statement stmt = conn.createStatement();

    • 执行sql,接受返回结果
      int count = stmt.executeUpdate(sql);

    • 处理结果
      if(count>0){
      system.out.println(“添加成功”);
      }else{
      system.out.println(“添加失败”);
      }

    • 释放资源
      stmt.close();
      conn.close();

  • 注意:若添加数据出现乱码,则将jdbc:mysql://localhost:3306/band改成jdbc:mysql://localhost:3306/band?useUnicode=true&characterEncoding=utf8这样指定编码即可

Druid

  1. 概念:其实就是一个容器(集合),存放数据库连接的容器。
    当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。

  2. 好处:

    • 节约资源
    • 用户访问高效
  3. 实现:

    1. 标准接口:DataSource javax.sql包下的
      1. 方法:
        • 获取连接:getConnection()
        • 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接
    2. 一般我们不去实现它,有数据库厂商来实现,常用的连接池如下
      1. C3P0:数据库连接池技术
      2. Druid:数据库连接池实现技术,由阿里巴巴提供的
  4. 使用步骤:
    1. 导入jar包 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.22</version> </dependency>

    2. 写入数据库需要内容
    
 private static DruidDataSource dataSource=null;
    private static void initDataSource() throws Exception{
   
        if(dataSource==null){
   
            dataSource=new DruidDataSource();
            dataSource.setUrl("jdbc:mysql:///band1	useUnicode=true&characterEncoding=utf8");//连接数据库的路径
            dataSource.setUsername("root");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值