JDBC连接数据库小结

JDBC学习小结

1. JDBC(Java Data Base Connectivity,java数据库连接) 它是sun公司提供的一系列类和接口,提供给各大数据库厂商实现!

2. 所谓 数据库驱动 是指数据库厂商实现JDBC的字节码打包成的jar文件。

3. 通过放射Class.forName(“com.mysql.jdbc.Driver”); 加载数据库驱动到JVM中时

Driver类中静态块代码将mysqlDriver() 教给java中的DriverManager管理。

所以,通过下面DriverManager.getConnection()或的数据库连接。

 

Mysql Driver 静态块源码如下:

static {

try {

java.sql.DriverManager.registerDriver(new Driver());

} catch (SQLException E) {

throw new RuntimeException("Can't register driver!");

}

}

  1. 数据库操作具体流程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//1.注册驱动
 
Class.forName("com.mysql.jdbc.Driver");
 
//2.获取数据库连接
 
String url = "jdbc:mysql://127.0.0.1:3366/数据库名称";
 
String user = "root";
 
String password = "111";
 
conn = DriverManager.getConnection(url, user, password);
 
//关闭事务的自动提交,开始事务
 
conn.setAutoCommit(false);
 
//3.定义SQL语句构架
 
String sql = "select job,ename,sal from emp_bak1 where job = ? for update";
 
//4.进行SQL语句的预编译
 
ps = conn.prepareStatement(sql);
 
//5.进行赋值
 
ps.setString(1, "MANAGER");
 
//6.执行SQL语句
 
rs = ps.executeQuery();
 
//7.处理查询结果集
 
while(rs.next()){
 
String job = rs.getString("job");
 
String ename = rs.getString("ename");
 
double sal = rs.getDouble("sal");
 
System.out.println(job + " " + ename + " " + sal);
 
}
 
//提交事务
 
conn.commit();
 
//遇到异常 事务回滚
 
Conn.rollback();

 

  1. properties文件中读取数据库信息返回数据库连接工具类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import java.io.*;
 
import java.sql.*;
 
import java.util.*;
 
  
 
/**
 
 * JDBC 工具类 自动加载comm/JDBC.properties 文件中的内容
 
 *
 
 * @author
 
 *
 
 */
 
public class JDBCUtil {
 
private static Connection conn = null;
 
  
 
public static Connection getConnection() {
 
FileReader fr = null;
 
Properties pro = null;
 
try {
 
// 从文件中读取数据库信息
 
fr = new FileReader("comm/JDBC.properties");
 
pro = new Properties();
 
pro.load(fr);
 
fr.close();
 
String Driver = pro.getProperty("Driver");
 
String url = pro.getProperty("url");
 
String user = pro.getProperty("user");
 
String password = pro.getProperty("password");
 
// 通过反射机制将驱动加载到JVM中
 
Class.forName(Driver);
 
// 通过DriverManager 返回数据库连接
 
conn = DriverManager.getConnection(url, user, password);
 
} catch (Exception e) {
 
e.printStackTrace();
 
}
 
return conn;
 
}
 
}
----------------------------------------------------------------------------------------------------------------------------------------------
Driver=com.mysql.jdbc.Driver
 
url =jdbc:mysql://localhost:3306/数据库名称
 
user =root
password=root

 

posted @   鹤少  阅读(456)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示