`
sungang_1120
  • 浏览: 322511 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

JDBC学习一 基础一个简单JDBC几种不同连接驱动实现及简单的封装 单例模式 处理并发问题的封装 简单一个查询

 
阅读更多

用的MYSQL的驱动链接

package com.sg.test;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Base {
 public static void main(String[] args) {
  try {
   Base.test01();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 static void test01() throws Exception {
  // 注册驱动

  //第一种
  DriverManager.registerDriver(new com.mysql.jdbc.Driver());

  //第二种

   System.setProperty("jdbc:drivers", "com.mysql.jdbc.Driver");

  //第三种  (推荐使用)

  Class.forName("com.mysql.jdbc.Driver");
  // 建立连接
  java.sql.Connection conn = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/jdbc", "root", "root");
  // 创建语句
  Statement st = conn.createStatement();
  // 执行语句
  ResultSet rs = st.executeQuery("select * from user");
  // 处理结果
  while (rs.next()) {
   System.out.println("id:" + rs.getInt(1) + "\n name:"
     + rs.getString(2) + "\n age:" + rs.getInt(3) + "\n sex"
     + rs.getString(4) + "\n brithday:" + rs.getDate(5));
  }
  //关闭资源
  rs.close();
  st.close();
  conn.close();
 }

}
封装一个jdbcUtil类

package com.sg.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class jdbcUtil {
 static String url = "jdbc:mysql://localhost:3306/jdbc";
 static String username = "root";
 static String password = "root";

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

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }

 public static Connection getConnection() throws SQLException {
  return DriverManager.getConnection(url, username, password);
 }

 public static void free(Statement st, Connection conn, ResultSet rs) {
  try {
   if (rs != null) {
    rs.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if (conn != null) {
     conn.close();
    }
   } catch (SQLException e2) {
    e2.printStackTrace();
   } finally {
    try {
     if (st != null) {
      st.close();
     }
    } catch (SQLException e2) {
     e2.printStackTrace();
    }
   }
  }
 }
}

单例模式 考虑并发延迟

jdbcUtil02

public final class jdbcUtil02 {
 static String url = "jdbc:mysql://localhost:3306/jdbc";
 static String username = "root";
 static String password = "root";

 // private static jdbcUtil02 instance = new jdbcUtil02();
 private static jdbcUtil02 instance = null;

 // 构造私有化
 private jdbcUtil02() {

 }

 // 提供一个公共的static方法
 public static jdbcUtil02 getInstance() {

  // 延迟加载 使用的时候new
  // 处理并发问题 可以加锁
  synchronized (jdbcUtil02.class) {
   if (instance == null) {
    instance = new jdbcUtil02();
   }
  }
  return instance;
 }

 public Connection getConnection() throws SQLException {
  return DriverManager.getConnection(url, username, password);
 }
}

分享到:
评论

相关推荐

    jdbc连接工具类 单例连接模式,进度1

    在这个“jdbc连接工具类 单例连接模式,进度1”的项目中,很可能是采用了以上提到的一种或多种单例实现方式来保证数据库连接工具类的唯一实例。具体实现方式可能在名为“jdbc工具类连接单例模式0914”的文件中详细...

    原创的JDBC封装可支持各种数据库

    通过以上步骤,我们可以创建一个高度可配置、易于使用的JDBC封装库,支持多种数据库。在实际项目中,只需在配置文件中更改数据库相关参数,就能轻松切换到不同的数据库系统,极大地提高了代码的可维护性和可扩展性。...

    jdbc 连接数据库封装类,可返回map,或者vo(自用)

    标题中的“jdbc 连接数据库封装类,可返回map,或者vo(自用)”指的是一个自定义的Java类库,用于简化Java应用程序通过JDBC(Java Database Connectivity)与数据库的交互。这类库通常会提供方便的方法来执行SQL...

    JDBC驱动插件

    1. **msbase.jar**: 这个文件包含了基础的JDBC驱动实现,提供了对SQL Server数据库的基本连接支持。它封装了与数据库建立连接、执行SQL语句和处理结果集等基本操作的类和方法。例如,`...

    配置BEA WebLogic 8.1 JDBC连接

    【配置BEA WebLogic 8.1 JDBC连接】的知识点主要包括以下几个方面: 1. **JDBC简介**:JDBC(Java Database Connectivity)是Java平台的标准API,用于与各种类型的数据库进行交互。在J2EE应用中,JDBC是访问数据库...

    SpringJdbcTemplate封装工具类

    这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及异常处理的负担。下面我们将深入探讨SpringJdbcTemplate的相关知识点。 1. **SpringJdbcTemplate...

    jdbc封装的代码

    这个例子展示了如何使用封装后的JDBC工具类来执行一个查询操作,无需关心连接的创建与关闭,SQL参数的设置以及结果集的处理,大大提高了代码的可读性和易用性。这就是JDBC封装的主要目的和实现方式。

    mysql JDBC C3P0 封装类

    MySQL JDBC C3P0 封装类是Java编程中一种常用的数据库访问技术,它整合了MySQL数据库驱动和C3P0连接池管理,以提高应用的性能和资源利用率。在这个封装类中,开发者通常会创建一个数据库连接池,用于管理和复用...

    Sharding JDBC PPT 分享

    Sharding JDBC是一款开源的轻量级Java框架,它提供了一种分库分表的解决方案,用于解决大规模数据集下的数据库的性能问题。Sharding JDBC具有易于使用,无需额外依赖和强依赖数据库的特点。它允许开发人员对JDBC进行...

    jdbc学习文档

    简单来说,JDBC就像是一个桥梁,它使得Java应用程序能够与不同的数据库进行交互。 **1.2 JDBC与应用程序的关系** - **统一接口**:JDBC提供了一个统一的API,使得开发者可以通过相同的接口来操作不同的数据库系统...

    JDBC连接使用的包与DBUtils工具包

    这个驱动程序实现了JDBC API,使得Java程序可以执行SQL语句、获取结果集、处理事务等。版本号5.1.37代表了该驱动的特定发行版,随着时间的推移,MySQL会发布新的版本以修复错误、增加新功能和提升性能。 接下来,...

    全面解析JDBC--连接数据库

    JDBC提供了一种统一的接口,隐藏了不同数据库系统的具体细节,让开发者无需关心底层数据库的具体实现,从而提高了代码的可移植性。 ### JDBC的核心组件 1. **驱动程序管理器(Driver Manager)**:它是JDBC的入口...

    Jdbc深入分析

    模板模式提供了一个基本的骨架,子类可以按需覆盖具体的操作,以实现不同的功能。 #### 结论 通过深入了解JDBC的相关概念和技术细节,我们可以更好地掌握数据库操作的核心知识,并能够更高效地进行数据库编程。...

    JSP与RDBMS连接的并发问题的一种解决方案.pdf

    【JSP与RDBMS连接的并发问题及解决方案】 在Web应用程序开发中,JSP(Java Server Pages)作为流行的Web技术之一,常被用来处理大量数据。通过将数据处理任务交给关系型数据库管理系统(RDBMS),可以简化程序设计...

    数据集-使用java开发的一个简单数据库实现-优质项目分享.zip

    标题中的“数据集-使用java开发的一个简单数据库实现”表明这是一个使用Java编程语言构建的简易数据库系统项目。这个项目可能是为了教学目的或者作为初学者理解数据库工作原理的实践平台。在Java中实现数据库,通常...

    Java实现简单本地数据库连接的考试系统

    - **单例模式**:数据库连接通常以单例模式实现,确保在整个应用程序中只有一个数据库连接实例,节约资源并避免并发问题。 - **工厂模式**:可能用于创建不同类型的用户对象,根据角色创建对应的角色实例。 8. **...

    JAVA数据库工具类

    在Java编程中,数据库工具类是开发者为了简化数据库操作而创建的一类封装了数据库连接、查询、事务处理等常见操作的类。在这个特定的场景中,我们关注的是一个基于DBCP(Database Connection Pool)的数据库工具类,...

    JDBC编程 J275练习题、Java基础知识

    2. **JDBC连接步骤**:建立JDBC连接通常包括加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL语句、处理结果集以及关闭资源等步骤。 3. **SQL语句的执行**:Statement用于执行静态SQL,而...

    Java_JDBC学习教程 由浅入深.doc

    ### Java JDBC 学习教程知识点总结 #### 一、JDBC 概念及与应用程序的关系 **2.1 JDBC 概念** - JDBC (Java Database Connectivity) 是 Java 平台上的标准数据库访问接口,用于执行 SQL 语句并处理结果。 - 它提供...

    JDBC数据库连接池相关jar包

    本文将详细讲解标题中提到的几个关键组件:MySQL驱动包、C3P0数据库连接池、Druid数据库连接池以及Spring Template,这些都是Java Web开发中不可或缺的部分。 首先,我们来看MySQL驱动包。MySQL是广泛使用的开源...

Global site tag (gtag.js) - Google Analytics