数据库通用Jdbc操作
public class JdbcUtil {
/**
* 关闭一个数据库链接
* @param conn
*/
public static void closeConnection(Connection conn) {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
}
}
/**
* 回滚一个数据库链接
* @param conn
*/
public static void rollbackConnection(Connection conn) {
try {
if (conn != null) {
conn.rollback();
}
} catch (SQLException e) {
}
}
/**
* 关闭一个StateMent
* @param stmt
*/
public static void closeStatement(Statement stmt) {
try {
if (stmt != null) {
clearStatement(stmt); // FIXME 测试
stmt.close();
}
} catch (SQLException e) {
}
}
/**
* 关闭一个ResultSet
* @param rs
*/
public static void closeResultSet(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
}
}
/**
* 清除一个StateMent里面的批量信息。
* @param stmt
*/
public static void clearStatement(Statement stmt) {
try {
if (stmt != null) {
stmt.clearBatch();
}
} catch (SQLException e) {
}
}
/**
* Integer型数据设置
* @param pstmt
* @param index
* @param value Integer型数据
* @throws SQLException
*/
public static void setValue(PreparedStatement pstmt, int index, Integer value) throws SQLException {
if (null != value) {
pstmt.setInt(index, value);
} else {
pstmt.setNull(index, Types.INTEGER);
}
}
/**
* Long型数据设置
* @param pstmt
* @param index
* @param value Long型数据
* @throws SQLException
*/
public static void setValue(PreparedStatement pstmt, int index, Long value) throws SQLException {
if (null != value) {
pstmt.setLong(index, value);
} else {
pstmt.setNull(index, Types.BIGINT);
}
}
/**
* String型数据设置
* @param pstmt
* @param index
* @param value String型数据
* @throws SQLException
*/
public static void setValue(PreparedStatement pstmt, int index, String value) throws SQLException {
if (StringUtils.isNotBlank(value)) {
pstmt.setString(index, value);
} else {
pstmt.setNull(index, Types.VARCHAR);
}
}
/**
* Timestamp型数据设置
* @param pstmt
* @param index
* @param value Timestamp型数据
* @throws SQLException
*/
public static void setValue(PreparedStatement pstmt, int index, Timestamp value) throws SQLException {
if (null != value) {
pstmt.setTimestamp(index, value);
} else {
pstmt.setNull(index, Types.TIMESTAMP);
}
}
/**
* Date型数据设置
* @param pstmt
* @param index
* @param value java.sql.Date型数据
* @throws SQLException
*/
public static void setValue(PreparedStatement pstmt, int index, java.util.Date value) throws SQLException {
if (null != value) {
pstmt.setTimestamp(index, new Timestamp(value.getTime()));
} else {
pstmt.setNull(index, Types.TIMESTAMP);
}
}
/**
* byte型数据设置
* @param pstmt
* @param index
* @param value byte型数据
* @throws SQLException
*/
public static void setValue(PreparedStatement pstmt, int index, byte[] value) throws SQLException {
if (null != value) {
pstmt.setBytes(index, value);
} else {
pstmt.setNull(index, Types.BINARY);
}
}
}
数据库通用Jdbc操作的更多相关文章
- 数据库 —— 使用JDBC操作数据库
[Link] http://www.developer.com/java/data/manipulating-a-database-with-jdbc.html Manipulating a Data ...
- 使用JdbcTemplate简化JDBC操作 实现数据库操作
使用Spring JDBC框架方遍简单的完成JDBC操作,满足性能的需求且灵活性高. Spring JDBC框架由4个部分组成,即core.datasource.object.support. org ...
- JSP-06-使用JDBC操作数据库
6.1 使用JDBC查询数据 [链接oracle数据库] 具体操作: 1) 将odbc文件拷贝到项目中 Odbc文件所在目录: oracle安装目录下- product – db_1 – jdbc ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- 十五、JDBC操作数据库
1.数据库特点 实现数据共享.减少数据的冗余度.数据的独立性.数据集中控制.数据的一致性和可维护性. 2.数据库种类和功能 (1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...
- JavaWeb用Jdbc操作MySql数据库(一)
一.添加开发包.在JavaWeb中用jdbc操作数据库,使用方法与java一样,但是在处理开发包的问题上有点差别.JavaWeb不能将mysql-connector-java-5.1.7-bin.ja ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- jdbc操作数据库
JDBC全称为:Java DataBase Connectivity(java数据库连接). SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC. 学习JD ...
- 用于JDBC操作数据库的公共类
/* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...
随机推荐
- Discuz!NT中的Redis架构设计
在之前的Discuz!NT缓存的架构方案中,曾说过Discuz!NT采用了两级缓存方式,即本地缓存+memcached方式.在近半年多的实际运行环境下,该方案经受住了检验.现在为了提供多样式的解决方案 ...
- unix network programming(3rd)Vol.1 [第2~5章]《读书笔记系列》
13~22章 重要 第2章 传输层: TCP/ UDP / STCP (Stream Control Transmission Protocol) TCP 可靠,有重传机制,SYN队列号 UDP 不可 ...
- C# 创建WebServices及调用方法
发布WebServices 1.创建 ASP.NET Web 服务应用程序 SayHelloWebServices 这里需要说明一下,由于.NET Framework4.0取消了WebService ...
- 求一字符串最长不重复字符子串的长度【Java 版】
一. 前言 最近学习有点断断续续,整理的一些知识点要么不完整,要么完全没搞懂,不好拿上台面,还是先在草稿箱躺着吧.偶尔在浏览大牛博客http://coolshell.cn的时候,发现大牛业余时间也在做 ...
- 设计模式_Iterator_迭代器模式
形象例子: 我爱上了Mary,不顾一切的向她求婚. Mary:“想要我跟你结婚,得答应我的条件” 我:“什么条件我都答应,你说吧” Mary:“我 ...
- 高质量、处于持续更新的R包
本文在Creative Commons许可证下发布 自由软件的问题是开发人员没有稳定的资金来源支持,可能更新上做不到持续.经过考证和圈内朋友的帮助,现在把R包中高质量.持续更新的跟大数据事业相关的R包 ...
- 深入了解JavaScript中的关键字
this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,下面分四种情况,详细讨论this的用法,感兴趣的朋友可以了解下. this是Javascri ...
- WebAPI 小知识
1.HttpResponseMessage.ReasonPhrase可以返回原因说明短语, 用JQuery中的$.ajax调用,返回函数第三个参数可以获取,如下: success:function(d ...
- 教程-for do、while do 中循环退出
1.注意条件设置 for i:=1 to 10 dobegin if i>5 then begin break; end;end; break 全部continu ...
- IAR 1.3 for STM8 ST-Link无法调试 无法仿真 the debugging session could not be started
IAR 1.3 for STM8 ST-Link无法调试 the debugging session could not be started CPU型号是:STM8F103F3 首先要用ST Vis ...