package com.it.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet; /**
* 数据库操作工具类
* 7个属性 4个方法(连接方法 关闭资源方法 通用查询方法 通用增删改方法)
*/
public class BaseDao {
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "system";
private static final String PASSWORD = "ok";
//con
public Connection con = null;
//pstmt
public PreparedStatement pstmt = null;
//rst
public ResultSet rst = null;
/*
* 获取连接方法
*/
public void getCon(){
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
} /*
* 关闭资源 从内到外关闭
*/
public void closeAll(){
try {
if(rst != null){
rst.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(pstmt != null){
pstmt.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(con != null){
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
} /*
* sql:sql语句
* params:参数(填充sql中?的参数数组)
*/
public void commonQuery(String sql,Object[]params){
try {
//获取连接
this.getCon();
//获取执行sql对象
pstmt = con.prepareStatement(sql);
//对?处理,下标从1开始
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i+1, params[i]);
}
//获取结果集
rst = pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
} public int commonUpdate(String sql,Object[]params){
int r = -1;
try {
//获取连接
this.getCon();
//获取执行sql对象
pstmt = con.prepareStatement(sql);
//对?处理
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i+1, params[i]);
}
//获取受影响行数
r = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return r;
}
}

最新文章

  1. 记录我的点点滴滴从此刻做起——iOS开发工程师
  2. 摆脱jquery,用自己的JS库实现ajax功能
  3. 【linux】ps
  4. CountdownLatchTest
  5. Eclipse学习总结(02)-动态项目部署到到本地Tomcat
  6. 性能测试工具Gatling - 设置Recorder
  7. phonegap 检查是否有网络
  8. SQL Server:把CSV文件导入到SQL Server表中
  9. Modbus Poll :Byte Missing Error或CRC Error
  10. 用Eclipse 开发Dynamic Web Project应用程序 【转】
  11. Areas(区域)
  12. FastDFS 的部署、配置与测试的
  13. STDMETHOD_,STDMETHOD,__declspec(novtable)和__declspec(selectany)
  14. 性能测试之LoardRunner 手动关联一
  15. hdu 1210 Eddy&#39;s 洗牌问题
  16. MIP ACCESS细节剖析
  17. 【集训队作业2018】【XSY3372】取石子 DP
  18. [Swift]LeetCode882. 细分图中的可到达结点 | Reachable Nodes In Subdivided Graph
  19. Google弃用HttpClient 而推荐使用HttpURLConnection的原因
  20. AI - 参考消息(References)

热门文章

  1. 【MySQL参数】-innodb_additional_mem_pool_size
  2. java 利用管道实现线程间通信
  3. Java类只加载一次的情况
  4. 谷歌为何要研发新系统在5年内取代Android?
  5. 5.docker image (镜像)
  6. Android音视频处理之基于MediaCodec合并音视频
  7. ReportingService语法
  8. 八皇后问题 2n皇后问题
  9. 19)PHP,数组知识
  10. day49-线程-事件