一、六步骤
第一步:注册驱动,主要告诉Java程序连接哪种数据库,如MySql、Orcale等,我自己连接的是MySql数据库。
Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
第二步:获取连接,使JVM的进程和数据之间的通道打开。
String url = "jdbc:mysql://localhost:3306/dlb_mysql";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
url中: jdbc:mysql:// 协议
localhost 本机ip地址,如果连接其他电脑,换成对应的ip,如193.168.88.22
3306: MySql数据库的端口号
dlb_mysql: 我自己电脑上的数据库名称,可以换成对应的数据库名称。
user: 用户名
password: 密码
第三步:获取数据库操作对象:state = conn.createStatement()。
第四步:执行Sql语句。
第五步:处理查询结果集。
第六步:释放资源:
全部代码如下:
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class JDBCTest01{
public static void main(String []args){
Connection conn = null;
Statement state = null;
try{
//1.注册驱动
Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
//2.获取链接
String url = "jdbc:mysql://localhost:3306/dlb_mysql";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
//3.获取数据库操作对象
state = conn.createStatement();
//4.执行sql语句
String s = "insert into dept values('512','刘亦菲','西北大学')";
//专门执行DML语句
//返回值时影响数据库中的记录条数
int count = state.executeUpdate(s);
System.out.println(count==1 ?"保存成功" : "保存失败");
//5.处理查询结果集
}
catch(SQLException e){
e.printStackTrace();
} finally{
//6.释放资源,遵循从小到大依次关闭,并且对其分别try...catch
try{
if(state != null){
state.close();
}
}catch( SQLException e){
e.printStackTrace();
}
try{
if(conn != null){
conn.close();
}
}catch( SQLException e){
e.printStackTrace();
}
}
}
}
二、注册驱动的第二种方法(比较常用)。
上面注册驱动我们用的是这两句
Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
我们打开Mysql驱动中的Driver.class文件
看到源码 我们会发现有个静态代码块,里面执行的就是上面注册驱动的那两句,所以我们可以用这里的静态代码块来替代。
用在这句Class.forName("com.mysql.jdbc.Driver")代替,进行了类加载,静态代码块执行,无需接收返回值。
代码如下:跟上面的代码块就只有注册驱动那里发生连变化,进行了替代。
import java.sql.*;
public class JDBCTest02{
public static void main(String []args){
Connection conn = null;
Statement state = null;
try{
//1.注册驱动
//Driver driver = new com.mysql.jdbc.Driver();
//DriverManager.registerDriver(driver);
Class.forName("com.mysql.jdbc.Driver");//进行了类加载,静态代码块执行,无需接收返回值
//2.获取链接
String url = "jdbc:mysql://localhost:3306/dlb_mysql";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
//3.获取数据库操作对象
state = conn.createStatement();
//4.执行sql语句
String s = "insert into dept values('522','刘亦菲','西北大学')";
//专门执行DML语句
//返回值时影响数据库中的记录条数
int count = state.executeUpdate(s);
System.out.println(count==1 ?"保存成功" : "保存失败");
//5.处理查询结果集
}
catch(ClassNotFoundException e){
e.printStackTrace();
}
catch(SQLException e){
e.printStackTrace();
} finally{
//6.释放资源,遵循从小到大依次关闭,并且对其分别try...catch
try{
if(state != null){
state.close();
}
}catch( SQLException e){
e.printStackTrace();
}
try{
if(conn != null){
conn.close();
}
}catch( SQLException e){
e.printStackTrace();
}
}
}
}
3.用配置文件中读取数据库连接信息
文章来源:https://www.toymoban.com/news/detail-480510.html
代码如下:文章来源地址https://www.toymoban.com/news/detail-480510.html
import java.sql.*;
import java.util.*;
public class JDBCTest03{
public static void main(String []args){
Connection conn = null;
Statement state = null;
try{
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
//1.注册成功
String driver = bundle.getString("driver");
Class.forName(driver);//进行了类加载,无需接收返回值
//2.获取链接
String url = bundle.getString("url");
String user = bundle.getString("user");
String password = bundle.getString("password");
conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
//3.获取数据库操作对象
state = conn.createStatement();
//4.执行sql语句
String s = "insert into dept values('523','刘亦菲','西北大学')";
//专门执行DML语句
//返回值时影响数据库中的记录条数
int count = state.executeUpdate(s);
System.out.println(count==1 ?"保存成功" : "保存失败");
//5.处理查询结果集
}
catch(ClassNotFoundException e){
e.printStackTrace();
}
catch(SQLException e){
e.printStackTrace();
} finally{
//6.释放资源,遵循从小到大依次关闭,并且对其分别try...catch
try{
if(state != null){
state.close();
}
}catch( SQLException e){
e.printStackTrace();
}
try{
if(conn != null){
conn.close();
}
}catch( SQLException e){
e.printStackTrace();
}
}
}
}
到了这里,关于Java连接数据库(自学笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!