java常用代码分享-jdbc的数据库连接

createh53个月前 (02-13)技术教程14

java jdbc数据库连接

Java code

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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 JDBConnection {
public Connection conn = null; // 声明Connection对象的实例
public Statement stmt = null; // 声明Statement对象的实例
public ResultSet rs = null; // 声明ResultSet对象的实例
private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//定义保存数据库驱动的变量
private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_ATM";
private static String dbUser = "sa";
private static String dbPwd = "sa";
public JDBConnection(String propertyFileName) {// 带属性文件名的构造方法
Properties prop = new Properties();// 属性集合对象
InputStream is = null;
try {
is = JDBConnection.class.getClassLoader().getResourceAsStream(
propertyFileName);// 属性文件输入流
// is = new FileInputStream("src/" + propertyFileName);
prop.load(is);// 将属性文件流装载到Properties对象中
is.close();// 关闭流
dbClassName = prop.getProperty("dbClassName");
dbUrl = prop.getProperty("dbUrl");
dbUser = prop.getProperty("dbUser");
dbPwd = prop.getProperty("dbPwd");
} catch (Exception e) {
System.out.println("属性文件 " + propertyFileName + " 打开失败!");
}
try {
Class.forName(dbClassName);// 1.注册驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public JDBConnection() {// 默认的不带参数的构造函数
try {
Class.forName(dbClassName);// 1.注册驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
try {
// Class.forName(dbClassName);// 1.注册驱动
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//2.建立与数据库的链接
} catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.err
.println("警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:"
+ dbClassName
+ "\r\n链接位置:"
+ dbUrl
+ "\r\n用户/密码"
+ dbUser + "/" + dbPwd);
}
return conn;
}
/*
* 功能:执行查询语句
*/
public ResultSet executeQuery(String sql) {
try { // 捕捉异常
conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,//3.创建语句
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);//4.执行查询
} catch (SQLException ex) {
System.err.println(ex.getMessage()); // 输出异常信息
}
return rs; // 返回结果集对象 5.结果处理
}
/*
* 功能:执行更新操作
*/
public int executeUpdate(String sql) {
int result = 0; // 定义保存返回值的变量
try { // 捕捉异常
conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql); // 执行更新操作
} catch (SQLException ex) {
result = 0; // 将保存返回值的变量赋值为0
}
return result; // 返回保存返回值的变量
}
/*
* 功能:关闭数据库的连接
*/
public void close() {//6.释放资源
try { // 捕捉异常
try {
if (rs != null) { // 当ResultSet对象的实例rs不为空时
rs.close(); // 关闭ResultSet对象
}
} finally {
try {
if (stmt != null) { // 当Statement对象的实例stmt不为空时
stmt.close(); // 关闭Statement对象
}
} finally {
if (conn != null) { // 当Connection对象的实例conn不为空时
conn.close(); // 关闭Connection对象
}
}
}
} catch (Exception e) {
e.printStackTrace(System.err); // 输出异常信息
}
}
}

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

相关文章

45 个 Git 经典操作场景,专治不会合代码

文章转载于:江南一点雨git 对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一...

告别繁琐代码拼接,一键完成新增接口开发

在 Java 开发的世界里,你是否还在为新增接口而苦恼?传统的开发方式,需要开发者花费大量时间在代码拼接上,从接口设计到表结构设计,从业务规则实现到数据处理流程,每一个环节都需要精心打磨,繁琐且容易出...

别了,代码拼接苦,一键完成接口开发

曾经,Java 开发的世界里,新增接口就像一场漫长的苦役。开发者们对着空白文档,眉头紧皱,苦思冥想接口的各种细节,然后就开始了那令人抓狂的代码拼接之旅。就好比你要搭建一座超级复杂的乐高城堡,可每一块积...

我的世界服务器开服Java版连接教程

本文摘抄莱卡云游戏服务器我的世界教程本教程使用Paper核心开服1、进入控制面板登录面板的信息在绿色的登陆面板按键下方,不是你的莱卡云账号1.2、第一次购买服务器会安装游戏端,大约5分钟左右,如果长时...

Java开发 编写一个NIO连接例子_java中如何编写接口

为了您更好的阅读互动体验,为了您及时看到更多内容,点个“关注”,我们每天为您更新技术知识、分享SpringBoot,Vue,hadoop,架构等,后续还会推出视频课程,基于ruoyi-cloud实现项...

深入理解Java类加载机制-连接_java 类加载的过程

在接触了类加载的基本知识以后,我们已经清楚了类加载大体分为3个阶段:加载连接初始化今天我们主要讲解类加载的第二个阶段-连接阶段。连接阶段又可以分为三个部分:验证准备解析验证由于我们的字节码来源多样化,...