今天的马虎 封装自己的库
来源:互联网 发布:阿里云提供哪些服务 编辑:程序博客网 时间:2024/06/05 02:49
package com.rupeng.test1;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JdbcUtils
{
private static final String drivername;
private static final String dburl;
private static final String dbusername;
private static final String dbpassword;
static
{
InputStream inStream=null;
try
{
inStream=JdbcUtils.class.getResourceAsStream("config.properties");
Properties prop=new Properties();
prop.load(inStream);
drivername=prop.getProperty("drivername");//"com.mysql.jdbc.Driver";
dburl=prop.getProperty("dburl");
dbusername=prop.getProperty( "dbusername");
dbpassword=prop.getProperty("dbpassword");
} catch (IOException e)
{
throw new RuntimeException("加载config.properties失败",e);
}
finally
{
if(inStream!=null)
{
try
{
inStream.close();
}catch(IOException e)
{
}
}
}
try
{
Class.forName(drivername);
} catch (ClassNotFoundException e)
{
throw new RuntimeException("加载musql jdbc失败",e);
}
}
public static Connection createConnection() throws SQLException//不知道如何处理
{
return DriverManager.getConnection(dburl,dbusername,dbpassword);
}
public static int executeUpdate(String sql,Object...parameters) throws SQLException
{
Connection conn=null;
try
{
conn=createConnection();
return executeUpdate(conn,sql,parameters);
}finally
{
closeQuietly(conn);
}
}
public static int executeUpdate(Connection conn,String sql,Object...parameters) throws SQLException
{
PreparedStatement ps=null;
try
{
ps=conn.prepareStatement(sql);
for(int i=0;i<parameters.length;i++)
{
ps.setObject(i+1, parameters[i]);
}
return ps.executeUpdate();
}
/**
* catch(SQLExcption e)
* {
* System.out.println("xhicingchu错");这是吃异常因为我们不知道如何vchuli
* }
*/
finally
{
closeQuietly(ps);//Connection conn 是调用的,不能关闭
}
}
public static ResultSet executeQuery(String sql,Object...parameters) throws SQLException
{
Connection conn=createConnection();//不涉及到关闭资源
return executeQuery(conn,sql,parameters);
}
public static ResultSet executeQuery(Connection conn,String sql,Object...parameters) throws SQLException
{
PreparedStatement ps=conn.prepareStatement(sql);
for(int i=0;i<parameters.length;i++)
{
ps.setObject(i+1, parameters[i]);
}
return ps.executeQuery();
//PreparedStatement 关掉话 ResultSet用不了
//由调用者关闭
}
public static void closeQuietly(Statement stmt)
{
if(stmt!=null)
{
try
{
stmt.close();
}catch(SQLException e)
{
}
}
}
public static void closeQuietly(Connection conn)
{
if(conn!=null)
{
try
{
conn.close();
}catch(SQLException e)
{
}
}
}
static void closeQuietly(ResultSet rs)
{
if(rs!=null)
{
try
{
rs.close();
}catch(SQLException e)
{
}
}
}
}
- 今天的马虎 封装自己的库
- 2017/3/24 每天都刷刷ACM练练脑子~ 今天刷了一道debug了很久的题...最后发现..哎还是怪自己太马虎
- 马虎的算式
- 马虎的算式
- 蓝桥杯 马虎的算式
- 马虎的算式
- 马虎的算式 - 蓝桥杯
- 马虎的算式
- 蓝桥杯 马虎的算式
- 马虎的算式
- 马虎的算式
- 马虎的算式
- 马虎的算式
- 蓝桥杯 马虎的算式
- 蓝桥杯--马虎的算式
- 马虎的算式
- 马虎的算式
- 马虎的算式
- 以太网及IP数据报,tcp数据报格式分析
- C语言:Day1~Day4
- 自定义复制函数strcopy
- 3D画廊记录
- 【队列项目5 -排队看病模拟——第7周】
- 今天的马虎 封装自己的库
- Canny 边缘检测
- UI-设计模式 手势处理
- 如何使用JNI,实现Java本地编程
- string.c
- QT Creator格式对齐快捷键
- iOS开发工程师的一些面试题
- gentoo 制作android image
- 我的C语言基础学习