dbinfo.properties部分:

注意每行末尾不可以有空格

#oracle configure
UserName=scott
Password=tiger
Driver=oracle.jdbc.driver.OracleDriver
Url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
#mysql
#dbUserName=root
#dbPassword=root
#dbDriver=com.mysql.jdbc.Driver
#dbUrl=jdbc\:mysql\://127.0.0.1\:3306/test100?useUnicode\=true&characterEncoding\=utf8

sqlhelper部分:

package com.dy.utils;

import java.io.FileInputStream;
import java.io.IOException;
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.ArrayList;
import java.util.Properties;
import java.sql.*;
public class SqlHelper
{
//定义变量
private static Connection ct = null;
//大多数情况下用preparedstatement替代statement
private static PreparedStatement ps = null;
private static ResultSet rs = null; //连接数据库的参数
private static String url = "";
private static String username = "";
private static String drivername = "";
private static String passwd = ""; private static CallableStatement cs = null;
public static CallableStatement getCs()
{
return cs;
}
private static Properties pp = null;
private static InputStream fis = null;
//加载驱动,只需要一次,用静态代码块
static
{
try
{
//从dbinfo.properties
pp = new Properties();
fis=SqlHelper.class.getClassLoader().getResourceAsStream("dbinfo.properties");
//fis = new FileInputStream();
pp.load(fis);
url = pp.getProperty("Url");
drivername = pp.getProperty("Driver");
username = pp.getProperty("UserName");
passwd = pp.getProperty("Password");
Class.forName(drivername) ;
}
catch (Exception e)
{
e.printStackTrace(); }
finally
{
try
{ fis.close();}
catch(IOException e) {e.printStackTrace();}
fis = null;//垃圾回收站上收拾
} }
//得到连接
public static Connection getConnection()
{
try
{ct = DriverManager.getConnection(url,username,passwd);}
catch(Exception e) {e.printStackTrace();}
return ct;
} //*************callPro1存储过程函数1*************
public static CallableStatement callPro1(String sql,String[] parameters)
{
try{
ct = getConnection();
cs = ct.prepareCall(sql);
if(parameters!=null){
for(int i=0;i<parameters.length;i++){
cs.setObject(i+1,parameters[i]);
}
}
cs.execute();
}
catch(Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage());}
finally
{ close(rs,cs,ct);}
return cs;
} //*******************callpro2存储过程2************************
public static CallableStatement callPro2(String sql,String[] inparameters,
Integer[] outparameters)
{
try
{
ct = getConnection();
cs = ct.prepareCall(sql);
if(inparameters!=null)
{
for(int i=0;i<inparameters.length;i++)
{
cs.setObject(i+1,inparameters[i]);
}
}
//cs.registerOutparameter(2,oracle.jdbc.OracleTypes.CURSOR);
if(outparameters!=null)
{
for(int i=0;i<outparameters.length;i++)
{
cs.registerOutParameter(inparameters.length+1+i,outparameters[i]);
}
}
cs.execute();
}
catch(Exception e) {
e.printStackTrace(); throw new RuntimeException(e.getMessage());
}
finally
{ }
return cs;
} // query update
public static ArrayList executeQuery3(String sql,String[] parms)
{
PreparedStatement pstmt=null;
Connection conn=null;
ResultSet rs=null;
try{
conn=getConnection();
pstmt=conn.prepareStatement(sql);
if(parms!=null&&!parms.equals("")){
for(int i=0;i<parms.length;i++){
pstmt.setString(i+1, parms[i]);
}
}
rs=pstmt.executeQuery();
ArrayList al=new ArrayList();
ResultSetMetaData rsmd=rs.getMetaData();
int column=rsmd.getColumnCount();
while (rs.next()){
Object []ob=new Object[column];
for(int i=1;i<=column;i++){
ob[i-1]=rs.getObject(i);
}
al.add(ob);
}
return al;
} catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}finally {
try{
close(rs,pstmt,conn);
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
}
}
public static ResultSet executeQuery(String sql,String[] parameters)
{
try
{
ct=getConnection();
ps=ct.prepareStatement(sql);
if(parameters!=null)
{
for(int i=0;i<parameters.length;i++)
{
ps.setString(i+1,parameters[i]);
}
}
rs = ps.executeQuery();
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
finally
{ }
return rs;
} public static Connection getCt()
{
return ct;
}
public static PreparedStatement getPs()
{
return ps;
}
public static ResultSet getRs()
{
return rs;
} public static void executeUpdate2(String[] sql,String[][] parameters)
{
try
{
ct = getConnection();
ct.setAutoCommit(false); for(int i=0;i<sql.length;i++)
{ if(null!=parameters[i])
{
ps = ct.prepareStatement(sql[i]);
for(int j=0;j<parameters[i].length;j++)
{
ps.setString(j+1,parameters[i][j]);
}
ps.executeUpdate();
} } ct.commit(); }catch (Exception e)
{
e.printStackTrace();
try
{
ct.rollback();
}
catch (SQLException e1)
{
e1.printStackTrace();
}
throw new RuntimeException(e.getMessage());
}finally
{
close(rs,ps,ct);
} } //先写一个update、delete、insert
//sql格式:update 表名 set 字段名 =?where 字段=?
//parameter神应该是(”abc“,23)
public static void executeUpdate(String sql,String[] parameters)
{
try
{
ct=getConnection();
ps = ct.prepareStatement(sql);
if(parameters!=null)
{
for(int i=0;i<parameters.length;i++)
{
ps.setString(i+1,parameters[i]);
} }
ps.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();//开发阶段
//抛出异常
//可以处理,也可以不处理
throw new RuntimeException(e.getMessage());
}
finally
{
close(rs,ps,ct);
}
} public static void close(ResultSet rs,Statement ps,Connection ct)
{
//关闭资源(先开后关)
if(rs!=null)
{
try
{
rs.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
rs=null;
}
if(ps!=null)
{
try
{
ps.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
ps=null;
}
if(null!=ct)
{
try
{
ct.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
ct=null;
}
}
}

java sqlhelper的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. java jdbc sqlhelper

    package com.shop.util; import java.sql.*; //SqlHelper类 //定义了数据库连接函数,关闭查询结果集,关闭Statement对象,关闭数据库连接 // ...

  3. java版本的sqlHelper

    以下版本的sqlHelper可以支持普通的DDL,DML和查询语句,对于连接池,事务等的支持还有待改进 1)将数据库连接相关信息存储为属性文件,如database.properties,建立DataB ...

  4. JAVA WEB SQLHelper类的封装

    在这次做项目中,我对自己最满意的就是封装了一下SQLHelper类,我对自己感到骄傲主要是 我是初学者,我刚开始不知道可以这样做,我只是想着试着去这样做了,结果真的可以,所以我 在我的模块就自己封装了 ...

  5. java 版本SQLHelper

    package com.jack.SQLHelper; import java.sql.*;import java.util.logging.*;import javax.swing.table.*; ...

  6. Java MySQL(SqlHelper)

    1.配置文件为: driver=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/user_info user=root passwor ...

  7. JAVA版SqlHelper

    //JAVA版SqlHelper package com.test.Dao; import java.sql.Connection; import java.sql.DriverManager; im ...

  8. java 的 sqlHelper,改改之后也适用于不使用 EF 的 C# 项目,包含查询和建表。

    这个类用来拼接 sql. package com.ly.orm; public class Query { protected Query(String v) { sql = v; } public ...

  9. sqlHelper做增删改查,SQL注入处理,存储值,cookie,session

    一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...

随机推荐

  1. HDU 3221 Brute-force Algorithm

              题意:问funny被调用了多少次,结果ModP,P不一定为质数.   首先很容易发现递推公式fn=fn-1*fn-2;写出前几项a,b,a*b,a*b^2,a^2*b^3,a^3* ...

  2. linux两台服务器之间文件/文件夹拷贝

    跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...

  3. selenium启动Chrome浏览器和禁止证书错误提示弹出

    要把ChromeDriver放到代码中的文件夹中c://*******Application public static WebDriver WebDriverRun(WebDriver driver ...

  4. C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。

    作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1)    输入10个无序的整数.(2)    用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3)    要求任意输入一个整数 ...

  5. 22.mongodb副本集集群

    软件版本64位:     $ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.0.tgz     mongo ...

  6. jdbc.properties各种数据库连接配置

    # HSQLDB  #jdbc.driverClassName=org.hsqldb.jdbcDriver #jdbc.url=jdbc:hsqldb:hsql://localhost:9001/bo ...

  7. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

  8. MongoDB 概念解析

    SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 col ...

  9. winform右下角弹窗

    网页是否经常在电脑右下角弹窗显示消息?其实Winform也是可以实现的.下面介绍两种方法. 第一步:设计窗体 第二步:实现代码 第一种方法 引用user32 声明常量 窗体Load事件 窗体FormC ...

  10. JS新API标准 地理定位(navigator.geolocation)

    在新的API标准中,可以通过navigator.geolocation来获取设备的当前位置,返回一个位置对象,用户可以从这个对象中得到一些经纬度的相关信息. navigator.geolocation ...