JDBC连接数据库
文章目录
步骤
1. 创建Java项目
eclipse:file->new->java project->输入项目名->finish。
2. 将驱动包添加到项目中
将驱动包复制到项目的src目录下,然后右键->build path->add to build path。
Oracle驱动包:
链接:https://pan.baidu.com/s/1r-5XW5dpTbv1KC5CCpMVXA
提取码:vi0m
复制这段内容后打开百度网盘手机App,操作更方便哦
MySQL驱动包:
链接:https://pan.baidu.com/s/1388Ed4Xz1unxwepaxGHn1w
提取码:jue0
复制这段内容后打开百度网盘手机App,操作更方便哦
SQL Server驱动包:
链接:https://pan.baidu.com/s/12DQr0-PE8gAQTm8XDJM_1Q
提取码:ai5n
复制这段内容后打开百度网盘手机App,操作更方便哦
3. 连接数据库四要素(驱动名、链接地址、数据库用户名、数据库密码)
Oracle:
static String driverName = "oracle.jdbc.driver.OracleDriver";
static String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
static String username = "hadoop"; // 数据库用户名,改成自己的
static String password = "1998"; // 数据库密码,改成自己的
MySQL:
static String driverName = "com.mysql.jdbc.Driver";
static String url = "jdbc:mysql://localhost:3306/Java"; // 这里的Java改成自己的数据库名字
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
SQL Server:
static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Java"; // 这里的DatabaseName后面的改成自己的数据库名字
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
4. 数据库创建好库和表(以Oracle为例)
建表:
create table test(
name varchar2(20),
age number(5)
)
5. 代码连接7步骤
- 注册驱动
- 建立数据库连接
- 获取Statement对象
- 执行sql语句
- 处理结果集(如果有的话)
- 提交事务
- 关闭连接
详细代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
/* Oracle的四要素 begin */
static String driverName = "oracle.jdbc.driver.OracleDriver";
static String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
/* Oracle的四要素 end */
public static void main(String[] args) {
select();
}
private static void select() {
Connection conn = null;
PreparedStatement ps = null;
try {
// 注册驱动
Class.forName(driverName);
// 获取数据库连接对象
conn = DriverManager.getConnection(url, username, password);
// 获取Statement对象
String sql = "select * from test";
ps = conn.prepareStatement(sql);
// 执行sql
ResultSet rs = ps.executeQuery();
// 处理结果集
while (rs.next()) {
System.out.println(rs.getString(1) + "," + rs.getInt(2));
}
// 提交事务
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
增删改查
1. 增
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
/* Oracle的四要素 begin */
static String driverName = "oracle.jdbc.driver.OracleDriver";
static String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
/* Oracle的四要素 end */
public static void main(String[] args) {
add();
}
private static void add() {
Connection conn = null;
PreparedStatement ps = null;
try {
// 注册驱动
Class.forName(driverName);
// 获取数据库连接对象
conn = DriverManager.getConnection(url, username, password);
// 获取Statement对象
String sql = "insert into test values(?, ?)";
ps = conn.prepareStatement(sql);
ps.setString(1, "lisi"); // 添加lisi
ps.setInt(2, 10);
// 执行sql
ps.execute();
// 提交事务
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
2. 删
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
/* Oracle的四要素 begin */
static String driverName = "oracle.jdbc.driver.OracleDriver";
static String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
/* Oracle的四要素 end */
public static void main(String[] args) {
delete();
}
private static void delete() {
Connection conn = null;
PreparedStatement ps = null;
try {
// 注册驱动
Class.forName(driverName);
// 获取数据库连接对象
conn = DriverManager.getConnection(url, username, password);
// 获取Statement对象
String sql = "delete from test where name = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, "lisi"); // 删除lisi
// 执行sql
ps.execute();
// 提交事务
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3. 改
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
/* Oracle的四要素 begin */
static String driverName = "oracle.jdbc.driver.OracleDriver";
static String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
/* Oracle的四要素 end */
public static void main(String[] args) {
update();
}
private static void update() {
Connection conn = null;
PreparedStatement ps = null;
try {
// 注册驱动
Class.forName(driverName);
// 获取数据库连接对象
conn = DriverManager.getConnection(url, username, password);
// 获取Statement对象
String sql = "update test set name = ? where name = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, "zhangsan");
ps.setString(2, "lisi");
// 执行sql
ps.execute();
// 提交事务
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
4. 查
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
/* Oracle的四要素 begin */
static String driverName = "oracle.jdbc.driver.OracleDriver";
static String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
static String username = "hadoop"; // 数据库用户名
static String password = "1998"; // 数据库密码
/* Oracle的四要素 end */
public static void main(String[] args) {
select();
}
private static void select() {
Connection conn = null;
PreparedStatement ps = null;
try {
// 注册驱动
Class.forName(driverName);
// 获取数据库连接对象
conn = DriverManager.getConnection(url, username, password);
// 获取Statement对象
String sql = "select * from test";
ps = conn.prepareStatement(sql);
// 执行sql
ResultSet rs = ps.executeQuery();
// 处理结果集
while (rs.next()) {
System.out.println(rs.getString(1) + "," + rs.getInt(2));
}
// 提交事务
conn.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (ps != null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}