1、JDBC介绍
JDBC(Java数据库连接,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,JDBC实现了所有这些面向标准的目标并且具有简单,严格类型定义且高性能实现的接口。
2、 连接步骤(7步)
1-首先要下载数据库驱动jar包,并通过构建路径导入工程项目中。
例如,使用的数据库是MySQL,所以需要去下载MySQL支持JDBC的驱动程序;而开发环境是Eclipse,将下载得到的驱动程序加载进开发环境中(具体示例的时候会讲解如何加载)。
2-通过Class.forName()加载并注册驱动
3-通过DriverManager驱动管理器建立与数据库的连接,得到Connection连接对象
4-通过连接对象创建执行SQL语句的Statement对象,并准备好SQL语句
5-通过Statement对象执行SQL语句,得到结果集ResultSet对象
6-操作结果集对象,取得数据
7-关闭数据库资源:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。
数据库驱动jar包:链接:https://pan.baidu.com/s/1grhwvhQxmRztgLv7H_oNxg
提取码:gkqp
或者可以在官网上自行下载。
3 、优点
1、操作简单
2、通用性好
3、面向对象
4、可移植性强
4、具体实现
方法一
首先创建一个类放入数据库的连接。
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DbUtil {
private String dbUrl= "jdbc:mysql://localhost:3306/db_student?useUnicode=true&characterEncoding=utf8";
private String dbUserName="root"; //用户名
private String dbPassword="root"; //密码
private String jdbcName="com.mysql.jdbc.Driver"; //驱动名称
/*@
* 获取数据库连接
*/
public Connection getCon(){
try{
Class.forName(jdbcName);
}
catch (Exception e) {
e.printStackTrace();
}
Connection con = null;
try {
con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
}
catch (SQLException e) {
e.printStackTrace();
}
return con;
}
/**
*关闭数据库连接
* @param con
* @throws Exception*/
public void closeCon(Connection con)throws Exception{
if(con!=null){
con.close();
}
}
public static void main(String []args) {
DbUtil dbUtil=new DbUtil();
try{
dbUtil.getCon();
System.out.println("数据库连接成功! ");
}
catch (Exception e){
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}
然后在创建一个类放入引用数据库的操作
package dao;
import java.sql.Connection;
import util.DbUtil;
//创建数据库连接对象
public class BaseDao {
public Connection con= new DbUtil().getCon();
}
方法二
package cn.pji.jdbc;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DbUtil {
static String className = "com.mysql.jdbc.Driver";
static String url = "jdbc:mysql://localhost:3306/empty";
static String user = "root";
static String password = "mysql";
public static Connection getDBCon(){
Connection con = null;
try {
Class.forName(className);
con = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
//提供数据库资源的关闭操作
public static void close(Connection con,Statement sta,ResultSet rs){
if(con!=null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(sta!=null){
try {
sta.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------
package cn.pji.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String[] args) throws Exception {
Connection con = DbUtil.getDBCon();
Statement sta = con.createStatement();
String sql = "select id,name,age from stu";
ResultSet rs = sta.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(1)+"-->"+rs.getString(2)+"-->"+rs.getInt(3));
}
DBTools.close(con, sta, rs);
}
}
/*数据库操作
* create database njpji;
* use njpji;
* create table student(id varchar(20),name varchar(20),age int);
* show table;//看一下是否成功
* insert into student values('1801','dai',21);
* insert into student values('1802','jack',18);
* insert into student values('1803','rose',22);
* select * from student;查看一下是否添加成功。
* */
*
如有雷同纯属巧合。