JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。(取自:百度百科)简单地说就是为了统一化各个数据库操作而做的统一化接口。
每种数据库都有不一样的实现库,比如mysql用的是:com.mysql.jdbc.driver,oracle用的oracle.jdbc.driver.OracleDriver.即我们平时说的数据库驱动。
简单使用:
1.下载对应数据库的jdbc,此处以mysql为例,我下载了mysql-connector-java-5.1.44-bin.jar。
2.新建一个测试工程如下图:
3.将下载的jar包复制到新建的文件夹lib下。
注意:在Eclipse中添加lib后,需要在项目的Build Path的Libraries中引入jar包:
4.测试数据库表如下:
创建表的sql语句如下:
/*
Navicat MySQL Data Transfer
Source Server : 127.0.0.1
Source Server Version : 50524
Source Host : localhost:3306
Source Database : jdbc
Target Server Type : MYSQL
Target Server Version : 50524
File Encoding : 65001
Date: 2018-07-03 13:54:52
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for person
-- ----------------------------
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Records of person
-- ----------------------------
INSERT INTO `person` VALUES ('1', 'madg', '26');
5.在JDCTest.java中编写如下测试代码:
package com.madg.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest
{
public static void main(String[] args) throws SQLException, ClassNotFoundException
{
Connection conn=null;
//Get the MySQL Database Driver
Class.forName("com.mysql.jdbc.Driver");
//Get the connection use Driver
conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc", "root", "root");
String sql="select * from person";
//Create the Statement of Connection
Statement stmt=conn.createStatement();
//Query
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
//print
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getInt(3));
}
}
}
6.运行结果如下:
1
madg
26
7.说明:该测试中实现了最简单的使用jdbc的方法。在实际项目开发中需要考虑各个模块以及抽象。