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操作的更多相关文章

  1. 数据库 —— 使用JDBC操作数据库

    [Link] http://www.developer.com/java/data/manipulating-a-database-with-jdbc.html Manipulating a Data ...

  2. 使用JdbcTemplate简化JDBC操作 实现数据库操作

    使用Spring JDBC框架方遍简单的完成JDBC操作,满足性能的需求且灵活性高. Spring JDBC框架由4个部分组成,即core.datasource.object.support. org ...

  3. JSP-06-使用JDBC操作数据库

    6.1 使用JDBC查询数据 [链接oracle数据库] 具体操作: 1)  将odbc文件拷贝到项目中 Odbc文件所在目录: oracle安装目录下- product – db_1 – jdbc  ...

  4. JDBC操作MySQL数据库案例

    JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  5. 十五、JDBC操作数据库

    1.数据库特点 实现数据共享.减少数据的冗余度.数据的独立性.数据集中控制.数据的一致性和可维护性. 2.数据库种类和功能 (1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...

  6. JavaWeb用Jdbc操作MySql数据库(一)

    一.添加开发包.在JavaWeb中用jdbc操作数据库,使用方法与java一样,但是在处理开发包的问题上有点差别.JavaWeb不能将mysql-connector-java-5.1.7-bin.ja ...

  7. Java使用Jdbc操作MySql数据库(一)

    这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

  8. jdbc操作数据库

    JDBC全称为:Java DataBase Connectivity(java数据库连接). SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC. 学习JD ...

  9. 用于JDBC操作数据库的公共类

    /* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...

随机推荐

  1. Rails常用命令

    rails new Project rails g scaffold location uuid:string deviceid:string latitude:float longitude:flo ...

  2. 【Jenkins】linux下Jenkins集成ant进行编译并发送结果

    三个文章吧: 1 如何使用ant编译执行jmeter测试用例,并生成html报告 2 如何在Linux下搭建jenkins环境. 3 如何在Linux下搭建的jenkins中执行ant构建运行,并发送 ...

  3. java语言实现简单接口工具--粗简版

    2016注定是变化的一年,忙碌.网红.项目融资失败,现在有点时间整整帖子~~ 目标: 提高工作效率与质量,能支持平台全量接口回归测试与迭代测试也要满足单一接口联调测试. 使用人员: 测试,开发 工具包 ...

  4. unity3d自己写角色移动脚本

    废话没有,直接上代码: using UnityEngine; using System.Collections; public class SuperWalk : MonoBehaviour { pu ...

  5. CVTE面试经历

    CVTE也算一般的公司,很偏,不想说.我重点说一下面试的过程,我面试的C++程序开发工程师. 1.自我介绍自己的基本情况. 2.首先问你了解C++的面向对象么,他有哪些主要内容.对面向对象中的多态性你 ...

  6. ajax跨域解决方案(服务端仅限java)

    楼主前端知识菜鸟,高手勿喷,在此记录工作中遇到的问题及解决方案,大神请滤过 方法1.jsonp(js客户端ajax请求参数方式设置) 方法2.服务端接口设置: HttpServletResponse ...

  7. 编译驱动时出现"Cannot open file trace.h"错误

    编译驱动时出现"Cannot open file trace.h"错误 如题,用VS2013编译驱动是出现上述错误,原来是开启了WPP追踪导致的: 解决方案: 右键项目名-属性-W ...

  8. TCP 3次握手和四次挥手

    1.标示符说明    位码即tcp标志位: SYN(synchronous建立联机)   ACK(acknowledgement 确认)  PSH(push传送)    FIN(finish结束)   ...

  9. East Central North America Region 2015

    E 每过一秒,当前点会把它的值传递给所有相邻点,问t时刻该图的值 #include <iostream> #include <cstdio> #include <algo ...

  10. codeforce 600C - Make Palindrome

    练习string 最小变换次数下,且字典序最小输出回文串. #include <cstdio> #include <cstring> #include <cmath> ...