JDBC的详细使用

1.首先说一下需要用到的工具:

  ①我这里用的数据库是MySql5.6 ,MySql6.0开始被Oracle收购需要付费了,6.0以下版本免费。

  ②去Maven仓库下载JDBC的jar包 Maven仓库地址:http://mvnrepository.com/  我使用的版本是5.0.5

  ③将jar包放到项目下的lib目录下

2.接下来给大家上一段简单的使用代码

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.PreparedStatement;
 4 import java.sql.ResultSet;
 5 import java.sql.SQLException;
 6
 7 import com.mysql.jdbc.Driver;
 8
 9 /**
10  * 普通的jdbc操作
11  *
12  * @author AdminHeJun
13  *
14  */
15 public class JdbcNomal {
16     private static PreparedStatement prepareStatement;
17     private static ResultSet result;
18
19     public static void main(String[] args) throws Exception {
20         // 得到数据库连接
21         Connection connection = getConnection();
22         // 需要执行的sql
23         String sql = "select *from info";
24         prepareStatement = connection.prepareStatement(sql);
25         result = prepareStatement.executeQuery();
26
27         while (result.next()) {
28             String id = result.getString(1);
29             String name = result.getString(2);
30             String age = result.getString(3);
31             System.out.println("id=" + id + "---name=" + name + "----age="
32                     + age);
33         }
34         // 关闭结果集
35         result.close();
36         // 操作完关闭连接
37         connection.close();
38     }
39
40     private static Connection getConnection() {
41         // 得到数据库连接
42         Connection connection;
43         try {
44             // 注册jdbc驱动
45             DriverManager.registerDriver(new Driver());
46             // 参数1:数据库地址 惨数2:数据库用户名 参数3:密码
47             connection = DriverManager
48                     .getConnection("jdbc:mysql://127.0.0.1:3306/testdb",
49                             "root", "hejun254331");
50             System.out.println("数据库链接成功!");
51             return connection;
52         } catch (SQLException e) {
53             e.printStackTrace();
54             return null;
55         }
56
57     }
58 }

3.给大家分享一下我在实际开发中对JDBC操作拿到数据库连接的方法

  1 import java.io.InputStream;
  2 import java.sql.Connection;
  3 import java.sql.DriverManager;
  4 import java.sql.ResultSet;
  5 import java.sql.SQLException;
  6 import java.util.Properties;
  7
  8 import java.sql.PreparedStatement;  9
 10 /**
 11  * @author AdminHeJun 为了开发的方便起见 我把数据库的连接信息放在了DBConfig.properties配置文件中方便管理
 12  *         此配置文件存储数据的方式与Map的键值对是一样的通过键取相应的值
 13  *         此类中调用了getConnection方法就必须要调用releaseConnection方法释放资源
 14  */
 15 public class JdbcUtils {
 16     // 数据库用户
 17     private static String user;
 18     // 数据库密码
 19     private static String password;
 20     // 数据库连接地址
 21     private static String conUrl;
 22     // 数据库连接驱动完整包名
 23     private static String driverName;
 24     // 此工具类的实例
 25     private static JdbcUtils instance;
 26
 27     // 获取配置信息的静态代码块
 28     static {
 29         try {
 30             // 得到配置文件的输入流 JdbcUtils.class.getResourceAsStream此方法是获取当前类包名下的文件输入流
 31             InputStream inputStream = JdbcUtils.class
 32                     .getResourceAsStream("DBConfig.properties");
 33             // 创建一个操作配置文件的对象 见名知意 不多做解释了
 34             Properties properties = new Properties();
 35             // 加载配置文件的输入流
 36             properties.load(inputStream);
 37             // 开始获取配置文件里的信息
 38             user = (String) properties.get("user");
 39             password = (String) properties.get("password");
 40             conUrl = (String) properties.get("connUrl");
 41             driverName = (String) properties.get("driverName");
 42             System.out.println("获取配置信息成功!");
 43             System.out.println("user=" + user + "\npassword=" + password
 44                     + "\nconUrl=" + conUrl + "\ndriverName=" + driverName);
 45         } catch (Exception e) {
 46             System.out.println("获取配置信息出错!");
 47         }
 48     }
 49     // 注册数据库驱动的静态代码块
 50     static {
 51         try {
 52             Class.forName(driverName);
 53             System.out.println("驱动注成功!");
 54         } catch (Exception e) {
 55             System.out.println("驱动注册失败!");
 56         }
 57     }
 58
 59     // 私有的构造方法防止外界直接new对象 这里是通过 getInstance方法来获取此类的实例
 60     private JdbcUtils() {
 61
 62     }
 63
 64     // 获取此类的实例 这种设计方法也就是常说的java单列设计模式
 65     public static JdbcUtils getInstance() {
 66         if (instance == null) {
 67             // 防止多线程同时操作
 68             synchronized (JdbcUtils.class) {
 69                 instance = new JdbcUtils();
 70             }
 71         }
 72         return instance;
 73     }
 74
 75     // 得到数据库连接对象
 76     public Connection getConnection() {
 77         try {
 78             Connection connection = DriverManager.getConnection(conUrl, user,
 79                     password);
 80             System.out.println("数据库连接成功!");
 81             return connection;
 82         } catch (SQLException e) {
 83             e.printStackTrace();
 84             System.out.println("数据库连接失败!");
 85         }
 86         return null;
 87     }
 88
 89     // 释放连接资源
 90     public void releaseConnection(Connection connection,
 91             PreparedStatement pStatement, ResultSet rSet) {
 92         try {
 93             // 关闭结果集
 94             if (rSet != null) {
 95                 rSet.close();
 96             }
 97             // 关闭sql语句执行对象
 98             if (pStatement != null) {
 99                 pStatement.close();
100             }
101             // 关闭数据库连接
102             if (connection != null) {
103                 connection.close();
104             }
105         } catch (SQLException e) {
106             e.printStackTrace();
107             System.out.println("关闭资源出错!");
108         }
109     }
110 }

调用演示

 1 public static void main(String[] args) throws Exception {
 2         // 得到连接
 3         Connection connection = JdbcUtils.getInstance().getConnection();
 4         String sql = "select *from info";
 5         PreparedStatement prepareStatement = connection.prepareStatement(sql);
 6         ResultSet resultSet = prepareStatement.executeQuery();
 7         while (resultSet.next()) {
 8             String id = resultSet.getString(1);
 9             String name = resultSet.getString(2);
10             String age = resultSet.getString(3);
11             System.out.println("id=" + id + "---name=" + name + "----age="
12                     + age);
13         }
14         // 释放资源
15         JdbcUtils.getInstance().releaseConnection(connection, prepareStatement,
16                 resultSet);
17
18     }

打印结果:

DBConfig.properties文件截图

时间: 2024-08-28 22:23:29

JDBC的详细使用的相关文章

使用JDBC连接数据库详解

JDBC连接数据库详细流程 ?创建一个以JDBC连接数据库的程序,包含7个步骤:    1.加载JDBC驱动程序:       在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),       这通过java.lang.Class类的静态方法forName(String  className)实现.       例如:       try{       //加载MySql的驱动类       Class.forName("com.mysql.jdbc.Driver&qu

Java学习笔记--JDBC数据库的使用

参考  hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 JDBC API中提供的常用数据库编程的类和接口如下 1.Driver 接口:代表驱动程序 2.DriverManager 类:驱动程序管理员 3.Connection 接口:代表数据库连接 4.Statement .PreparedStatement.CallableStatement 接口:代表数据库操作对象 5.ResultSet

spring+struts2+mybatis

struts2.2.3 + spring3.1.0 + mybatis3.1.0集成简单demo 项目下载地址:http://download.csdn.net/detail/afgasdg/4171359 主要实现用户的增删改查操作 1.导入相应的jar包 2.配置web.xml主要是配置struts2和spring web.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <web-app ve

(转载)Android常用的Dialog对话框用法

Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. 1 import android.app.ProgressDialog; 2 import android.content.DialogInterface; 3 import android.os.Bundle; 4 import android.os.Sys

Java 程序连接 Informix 数据库方法实例介绍

Java 程序连接 Informix 数据库方法实例介绍 Informix 是一种应用广泛的关系型数据库服务器,支持多种类型的客户端连接程序,包括 .Net.Java.PHP 等.对于 Java 程序,Informix 支持两种 JDBC 供客户端连接.本文对这两种 JDBC 进行详细介绍,并给出 Java 使用两种方法连接 Informix 的方法和实例,对数据库开发人员具有指导意义 开您的试用 概述 Informix 是一种应用广泛的关系型数据库服务器,支持多种类型的客户端连接程序,包括 .

Hibernate开发实例

Hibernate开发实例 1. 创建HibernateDemo项目(也可以是其他名称) (1)在Eclipse中,单击Eclipse菜单中的[File]选择[New]选项,选择创建[DynamicWebProject](动态Web项目): (2)Project name我们填写为HibernateDemo(也可以是其他名称): (3)单击[Finish],我们的项目便创建完成了. 2. 在Eclipse中部署Hibernate开发包和MySQL驱动包 在这里我们做的是简单项目,所以需要的开发包

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (

J2EE学习的一部分--JDBC详细说明

今天是关于我们JDBC相关知识,左右JDBC我想大家都很熟悉的,我记得在很早以前就开始使用它,我记得那是一个大二的学生做课程设计.但随后以完成任务,所以遇到的问题google,当时没有时间组织,下关于JDBC的知识 摘要: JDBC(Java Data Base Connectivity,java数据库连接),由一些接口和类构成的API. J2SE的一部分,由java.sql,javax.sql包组成. 应用程序.JDBC API.数据库驱动及数据库之间的关系 watermark/2/text/

JAVAWEB开发之事务详解(mysql与JDBC下使用方法、事务的特性、锁机制)和连接池的详细使用(dbcp以d3p0)

事务简介 事务的概念:事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功 在开发中,有事务的存在,可以保证数据的完整性. 注意:数据库默认事务是自动提交的,也就是发一条SQL 就执行一条.如果想多条SQL语句放在一个事务中执行,需要添加事务有关的语句. 如何开启事务? 事务的操作方式: 创建表: create table account( id int primary key auto_increment, name varchar(20), money double