最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Java数据库连接:JDBC:DRUID
时间:2026-05-21 19:30:01 编辑:袖梨 来源:一聚教程网
JDBC作为Java连接数据库的核心技术,为开发者提供了标准化的API接口,实现SQL执行与数据交互功能。掌握JDBC操作流程对Java后端开发至关重要。
1.JDBC简介
作为Java与数据库通信的桥梁,JDBC提供标准化接口支持SQL执行,主要功能包括建立数据库连接、发送SQL指令和处理返回结果。
- 驱动程序加载
- 设置连接参数
- 创建Statement对象
- 执行SQL获取结果
- 释放数据库连接
2.JDBC配置
2.1建立连接
以Oracle数据库为例,需先获取驱动jar包,将其放入项目libs目录后右键选择添加至库。
2.2基础配置
驱动注册
//推荐使用Class.forName方式加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//获取数据库连接
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"XIAOMING",
"123456"
);
Statement配置
prepareStatement支持SQL预编译,能有效防止注入攻击,适合重复执行场景;createStatement不进行预处理,存在安全风险,且每次需重新构建SQL语句;
String sql = "select * from family_member where name";
Statement stat = con.createStatement();
ResultSet resultSet = stat.executeQuery(sql);
while(resultSet.next()){
System.out.println(resultSet.getString("name")
+"t"
+resultSet.getString("gender")
);
}
String sql = "select * from family_member where name = ?";
PreparedStatement stat = con.prepareStatement(sql);
stat.setString(1,"爸爸");
ResultSet resultSet = stat.executeQuery();
while(resultSet.next()){
System.out.println(resultSet.getString("name")
+"t"
+resultSet.getString("gender")
);
}
资源释放
resultSet.close();
stat.close();
con.close();
3.Spring实战 --手动构建DataSource
3.1配置类结构
完整配置包含三大模块:
- 数据源配置:连接参数与连接池设置
- 监控Servlet:可视化监控界面
- Web过滤器:关联HTTP请求与SQL执行
3.2配置
核心数据源配置
@Bean
public DataSource dataSource() throws SQLException {
DruidDataSource ds = new DruidDataSource();
//基础连接配置
ds.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
ds.setUsername("XIAOMING");
ds.setPassword("123456");
//连接池参数
ds.setMinIdle(5);
ds.setMaxWait(60000);
ds.setMaxActive(20);
ds.setInitialSize(5);
//空闲连接管理
ds.setMinEvictableIdleTimeMillis(60000);
ds.setMaxEvictableIdleTimeMillis(900000);
ds.setTimeBetweenEvictionRunsMillis(30000);
//连接检测
ds.setValidationQuery("SELECT 1 FROM DUAL");
ds.setTestWhileIdle(true);
ds.setTestOnBorrow(false);
ds.setTestOnReturn(false);
//连接回收
ds.setRemoveAbandoned( true);
ds.setRemoveAbandonedTimeout(180);
ds.setLogAbandoned(true);
//扩展功能
ds.setFilters("stat,wall");
ds.setPoolPreparedStatements(true);
ds.setUseGlobalDataSourceStat( true);
return ds;
}
监控Servlet配置
@Bean
public ServletRegistrationBean statViewServlet
相关文章
-
燕云十六声鹖尾在哪刷
05-21
-
智象未来在ai界属于什么水平?4个维度实测对比告诉你
05-21
-
自动刷视频挂机赚钱神器-看视频赚金币每日秒提现
05-21
-
智象未来股票值得投资吗?2026年最新分析
05-21
-
暗黑4S11箭雨游侠如何搭配BD
05-21
-
智象未来最新消息:实测HiDream视频生成效果
05-21