JDBC封装
程序员文章站
2024-03-22 23:43:40
...
JDBC封装
1.JDBC
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
2.JDBC封装建立一个数据连接文件
我这里的数据库是Oracle,这里的File 文件 建立在src文件夹下,里面内容一般是连接数据库的静态常量,在一般的企业开发是这样写的。
里面参数是数据库的配置分别是 注册地址,连接,账户,密码
这里另外说一点,我这里的url 可能跟很多人不一样,因为我的数据库用的是XE选项登录的,很多人后面会是ORCL 根据自己实际情况来。
driverClass=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
username=GT_User
password=123456
3.创建DBUtil 工具类
在这个类中,我会创建四个方法分别是:
-
getConnection() //连接数据库
-
getPstmt(String sql) //获取数据库sql 执行对象
//下面两个就是关闭ps,rs,conn 的close 方法
-
closeUpdateRes(PreparedStatement ps)
-
closeQueryRes(ResultSet rs)
代码如下:
public class DBUtil {
/**
* @Description: 数据库注册连接
* @Param:
* @Zhureturn:
* @Author: Mr.Zhu
* @Date:
*/
public static Connection getConnection(){
//io流文件引入
InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
Properties prop = new Properties();
Connection conn = null;
try {
prop.load(in);
String driverClass = prop.getProperty("dirverClass");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("parssword");
//注册驱动
Class.forName(driverClass);
//连接数据库
conn = DriverManager.getConnection(url,username,password);
} catch (Exception e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return conn;
}
/**
* @Description: 获得数据库库sql执行对象
* @Param: sql 数据库语句
* @Zhureturn: pstmt 执行对象
* @Author: Mr.Zhu
* @Date: 2020-10-28 11:01
*/
public static PreparedStatement getPstmt (String sql){
Connection conn = getConnection();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
/**
* @Description: 关闭close 所有链接,清除占用资源
* @Param: conn 数据库连接, ps 存放预处理数据库语句 rs sql语句执行结果集
* @Zhureturn: void
* @Author: Mr.Zhu
* @Date: 2020-10-06 10:37
*/
public static void closeUpdateRes(PreparedStatement ps) {
if(ps!=null){
try {
Connection conn = ps.getConnection();
ps.close();
if (conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void closeQueryRes(ResultSet rs) {
if (rs!=null){
try {
Statement pstmt= rs.getStatement();
if (pstmt!=null){
Connection conn = pstmt.getConnection();
rs.close();
pstmt.close();
if (conn!=null){
conn.close();
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
建议看完之后可以自己去试着理解的打一遍,这样吸收效果可能会更好。开头的文件 配置 用的是io文件流引用,可以去查一下。
推荐阅读
-
JDBC(二)
-
JDBC封装
-
EasyXRecyclerView库基于RecyclerView的终极封装(一)
-
JBoss内置的HSQL DB数据库 JBossHSQLDBSQL Server设计模式JDBC
-
【sqoop2 error】 org.apache.sqoop.connector.jdbc.GenericJdbcFromInitializer.confi 博客分类: linuxsqoop linuxsqoop
-
Derby通过JDBC操作数据库(两种) 博客分类: Sql/derby derbyjdbc两种访问模式内嵌模式网络模式
-
LIFERAY 6.0 部署过程 和JDBC 版本注意问题 JDBCOracleJBossSQL ServerHSQLDB
-
jdbc logger 进行sql语句格式输出 JDBCSQLlog4jOracleHSQLDB
-
dbcp/jdbc比较 博客分类: database
-
Java调用oracle存储过程通过游标返回临时表 博客分类: JDBC,存储过程数据库,oracle