Java基础之JDBC

1 篇文章 0 订阅

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;查看一下是否添加成功。
 * */
 * 


如有雷同纯属巧合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值