数据库通用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 ...
随机推荐
- myeclipse2015不能启动tomcat,提示: Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at local
myeclipse2015不能启动tomcat,提示: Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at local ...
- LA3942-Remember the Word(Trie)
题意: 有s个不同的单词,给出一个长字符串把这个字符串分解成若干个单词的连接(可重复使用),有多少种分解方法 分析: dp[i]表示i开始的字符串能分解的方法数 dp[i]=sum(dp[i+len( ...
- POJ3281 Dining 最大流
题意:有f种菜,d种饮品,每个牛有喜欢的一些菜和饮品,每种菜只能被选一次,饮品一样,问最多能使多少头牛享受自己喜欢的饮品和菜 分析:建边的时候,把牛拆成两个点,出和入 1,源点向每种菜流量为1 2,每 ...
- selenium运行chrome去掉command -line flag
每次驱动chrome浏览器都会出现这玩意,比较烦人··想办法去掉了它: ChromeOptions options = new ChromeOptions();options.addArguments ...
- httpServer V1
package cn.edu.sss.httpServer; import java.io.BufferedReader; import java.io.IOException; import jav ...
- 如何实现CSS居中?–CSS居中常用方法
来源:http://www.ido321.com/824.html 一.水平居中 1.内联元素居中:相对父级块级元素居中对齐 1: .center-children { 2: text-align: ...
- python PIL下的各种问题
为了实现验证码的功能,使用了PIL.结果出现各种问题: 先是"ImportError: The _imagingft C module is not installed",goog ...
- OpenCV2.3.1中tbb_debug.dll is missing的解决办法
方法1: 将\opencv\build\common\tbb\ia32目录下的tbb.dll复制改名为tbb_debug.dll 方法2: 若方法1失效,请将\openc ...
- pcb原理图注意问题大汇总
1. 元器件之间连线用Wire(■)命令而不是用Line( /)命令,虽然从表面上看,两者都是直线,只是颜色稍有些不同,但用Wire(■)命令放置的导线是具有电气特性的,而用Line(/)命令放置的直 ...
- hdoj 1863 畅通工程
并查集+最小生成树 畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...