/**
*
* 不能被继承,,工具类,不需继承...
* 代码重用,...
*
*/
public final class SQLHelper {
//细心观察,只要加载一次驱动,创建无数组..
//
//静态初始化块,只执行一次,,
static{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private SQLHelper(){}
//创建连接
//静态方法,方便调用,,
public static Connection getConnection(){
String url = "jdbc:oracle:thin:@192.168.6.108:1521:orcl";
String dbname = "scott";
String dbpwd = "tiger";
try {
return DriverManager.getConnection(url, dbname, dbpwd);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public static boolean update(String sql,Object[] param){
Connection conn = null;
PreparedStatement stmt = null;
int rs = 0;
try {
conn = getConnection();
stmt = conn.prepareStatement(sql);
if(param != null){
//i=0 4:: 0 1 2 3
//info.getName() java.lang.String
//java.lang.String
for(int i = 0 ; i < param.length;i++){
if(param[i].getClass() == java.lang.Integer.class){
stmt.setInt(i+1, (Integer)param[i]);
}else if(param[i].getClass() == java.lang.String.class){
stmt.setString(i+1, (String)param[i]);
}else if(param[i].getClass() == java.util.Date.class){
//2000-10-10 11:11:11
//2000-10-10
//数据库Date不认识
//一定保存2000-10-10 11:11:11
//timestamp 时间戳...
stmt.setTimestamp(i+1, conDD((java.util.Date)param[i]));
}
}
}
rs = stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
close(null,stmt,conn);
}
return rs != 0;
}
private static java.sql.Timestamp conDD(java.util.Date d){
return new java.sql.Timestamp(d.getTime());
}
//关闭连接
public static void close(ResultSet rs ,Statement stmt,Connection conn){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args){
String sql = "insert into emp(empno,ename,hiredate,sal) values(?,?,?,?)";
update(sql,new Object[]{9999,"tomtom",new Date(),9999});
}
}
分享到:
相关推荐
2、该工具类可以将数据库表列字段转化为对应的Java实体类字段。生成的实体类字段格式清晰易读,且符合Java命名规范。通过使用该工具类,可以大大提高开发效率,节约时间成本。 3、该工具类使用非常简单。只需要...
1、Utils工具类有String工具类、XmlNode节点工具类、BeanFactory相关、Common工具类、Cookie工具类、Date工具类、Http工具类、JDBC工具类、日志Log工具类、Servlet相关等。2、工具类省了重复造轮子的工作,可以直接...
"我的小小工具"这个标题可能指的是一个个人开发的软件集合或者是一系列实用的小程序,它可能包含各种功能,旨在帮助用户解决日常生活或工作中遇到的小问题。由于标题并未提供具体的技术细节,我们只能根据常见的IT...
Java工具类,它不仅实现了MD5加密,更创新性地接纳String... inputStrs,让你能一次性加密多个字符串。 1. 一键加密,多值无忧 告别繁杂,拥抱简洁。我们的Java MD5加密工具类以String... inputStrs为武器,打破了...
在本项目中,"C# 截图小小工具" 是一个使用C#编程语言开发的简单屏幕截图应用程序,特别适合初学者进行学习和实践。这个工具可以帮助用户快速捕获屏幕上的任何区域,并可能提供基本的编辑功能。让我们深入探讨一下...
提供一个可以公用的分页工具类,适用于各种分页
Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...
微信支付工具类的整合!
在本项目中,"java编程实现小小工具"是一个基于Java编程语言的期末课程设计,主要目标是开发一个集成了计时器、日历和闹钟功能的实用程序。这个项目可以帮助用户有效地管理时间,提供方便的日期和时间操作。下面我们...
TCP工具类是为了方便开发者在编程过程中实现TCP通信而设计的,通常包含了一系列的方法和功能,使得创建和管理TCP连接变得更加简单。 在TCP工具类中,我们可以找到以下关键知识点: 1. **连接建立**:TCP通信始于三...
【标题】:“人人网小小战争辅助工具分析” 这篇博客文章主要探讨了针对“人人网小小战争”游戏的一个辅助工具的内部工作原理和技术实现。在这个分析中,我们将深入了解这个工具所涉及的关键技术点,包括源码解析、...
"小小大儿童摄影工具"是一款专为儿童摄影类企业设计的网页应用,旨在提供一个页面设计简洁、自然,视觉效果舒适的平台。这款工具不仅在前端界面给予了用户良好的体验,其后台功能同样强大,能够满足儿童摄影业务的...
redis操作工具类,增删改差,原子性增加某个key的值,原子性增加某个key的filed的值等操作。
标题中的“SWF转GIF格式的一个小小工具”指的是一个软件或程序,它的主要功能是将SWF(ShockWave Flash)文件转换成GIF(Graphics Interchange Format)图像。SWF是一种由Adobe Flash(以前称为Macromedia Flash)...
简单易用:这两个方法都是静态方法,可以直接在类内部或外部任何地方调用,无需创建实例。 正则表达式高效:利用Java的正则表达式快速完成匹配和替换,性能较好。 适应性强:能够处理大多数常见的驼峰和下划线...
服务工具类文件,有小飞机和小帽子俩款文件,小飞机用2.0版本
本资源为您推荐一款强大实用的Java工具类,能够帮助您快速地实现字符串驼峰与下划线之间的互转。 2、优点:支持多个复制列编辑,在多列编辑模式下,您只需要简单的复制粘贴即可一次性将多个驼峰或下划线转换成对应...
服务工具类文件,有小飞机和小帽子俩款文件,小飞机用2.0版本
使用阿里云OSS对象存储服务,根据SDK编写文件上传、下载、查询、删除、获取文件链接、创建文件夹等方法的工具类Util,该工具类已在正式应用环境中经受考验,其中有示例demo使用方法教程,方法有注解,帮助使用者更好...
在这个“hbase-java开发连接工具类”中,包含了一个1.2.1版本的`hbase-client.jar`,这是与HBase通信的核心库。 `hbase-client.jar`包含了以下关键组件和功能: 1. **HBase客户端API**:Java开发者可以通过这个API...