MinerDB.java 数据库工具类

  1. package com.iteye.injavawetrust.miner;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.UUID;
  9.  
  10. import org.apache.commons.logging.Log;
  11. import org.apache.commons.logging.LogFactory;
  12.  
  13. /**
  14. * 数据库工具类
  15. * @author InJavaWeTrust
  16. *
  17. */
  18. public class MinerDB {
  19.  
  20. private static final Log LOG = LogFactory.getLog(MinerDB.class);
  21.  
  22. private static Connection conn = null;
  23. private static Statement st = null;
  24. private static ResultSet rs = null;
  25.  
  26. private MinerDB() {
  27.  
  28. }
  29.  
  30. private static final MinerDB instance = new MinerDB();
  31.  
  32. public static MinerDB getInstance() {
  33. return instance;
  34. }
  35.  
  36. /**
  37. * 连接数据库
  38. *
  39. * @return
  40. */
  41. public Connection connection() {
  42. try {
  43. Class.forName(MinerConstanits.DRIVER);
  44. } catch (ClassNotFoundException e1) {
  45. e1.printStackTrace();
  46. }
  47. try {
  48. conn = DriverManager.getConnection(MinerConstanits.DBURL,
  49. MinerConstanits.USER, MinerConstanits.PASSWORD);
  50. } catch (SQLException e) {
  51. e.printStackTrace();
  52. }
  53. return conn;
  54. }
  55.  
  56. /**
  57. * 关闭连接
  58. *
  59. * @param rs
  60. * @param st
  61. * @param conn
  62. */
  63. public void release(ResultSet rs, Statement st, Connection conn) {
  64. try {
  65. try {
  66. if (null != rs) {
  67. rs.close();
  68. }
  69. } catch (Exception e) {
  70. rs = null;
  71. }
  72. try {
  73. if (null != st) {
  74. st.close();
  75. }
  76. } catch (Exception e) {
  77. st = null;
  78. }
  79. try {
  80. if (null != conn) {
  81. conn.close();
  82. }
  83. } catch (Exception e) {
  84. conn = null;
  85. }
  86. } finally {
  87. rs = null;
  88. st = null;
  89. conn = null;
  90. }
  91. }
  92.  
  93. /**
  94. * 得到UUID
  95. * @return 32位UUID
  96. */
  97. public String getUUID() {
  98. String s = UUID.randomUUID().toString();
  99. return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18)
  100. + s.substring(19, 23) + s.substring(24);
  101. }
  102.  
  103. /**
  104. * insert sql
  105. * @param bean MinerBean obj
  106. * @return insert sql
  107. */
  108. public synchronized String getInsertSql(MinerBean bean) {
  109. return "insert into miner (id, batchNo, filePath, fileName, getDate) values ('"
  110. + bean.getId()
  111. + "','"
  112. + bean.getBatchNo()
  113. + "','"
  114. + bean.getFilePath()
  115. + "','"
  116. + bean.getFileName()
  117. + "',NOW())";
  118. }
  119.  
  120. /**
  121. * 插入
  122. * @param sql
  123. */
  124. public synchronized void insert(String sql){
  125. try{
  126. MinerDB.getInstance().connection();
  127. st = conn.createStatement();
  128. st.execute(sql);
  129. MinerDB.getInstance().release(rs, st, conn);
  130. }catch(Exception e){
  131. LOG.info("database error[" + sql + "]");
  132. LOG.info("insert 异常信息[" + e.getMessage() + "]");
  133. }
  134. }
  135.  
  136. }

返回列表

MinerDB.java 数据库工具类的更多相关文章

  1. 基于AQS实现的Java并发工具类

    本文主要介绍一下基于AQS实现的Java并发工具类的作用,然后简单谈一下该工具类的实现原理.其实都是AQS的相关知识,只不过在AQS上包装了一下而已.本文也是基于您在有AQS的相关知识基础上,进行讲解 ...

  2. 25.大白话说java并发工具类-CountDownLatch,CyclicBarrier,Semaphore,Exchanger

    1. 倒计时器CountDownLatch 在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种的业务场景下,通常可以使用Thread类的join ...

  3. MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

    MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...

  4. Java Properties工具类详解

    1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...

  5. Java json工具类,jackson工具类,ObjectMapper工具类

    Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...

  6. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  7. Java并发工具类 - CountDownLatch

    Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...

  8. MinerUtil.java 爬虫工具类

    MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...

  9. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

随机推荐

  1. 焦点轮播图(tab轮播)

    主要有两部分:1.列表导航(小图片) 2.展示区(大图片) 页面布局: HTML部分:    <div class="s_conC">                  ...

  2. JavaScript 代码规范

    所有的 JavaScript 项目适用同一种规范. JavaScript 代码规范 代码规范通常包括以下几个方面: 变量和函数的命名规则 空格,缩进,注释的使用规则. 其他常用规范-- 规范的代码可以 ...

  3. Python3 元组

    Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('Goog ...

  4. Web Worker Best Practices

    使用Web Worker可以把一些比较计算量相对大的阻塞浏览器响应的计算放在单独的线程里计算. 请求优化 构造Worker的时候需要给定js的链接URL,worker内部请求js运行代码.假如work ...

  5. GCT学习总结

    GCT的一个综合的考试性质,时间紧,题量大,这个时候需要我们快速.准确的答题,把自己的能力展现在其中,十一期间和同学们一起学习.讨论,大家都提高很大,各科谈一下自己的心得 数学: 数学相对来说还是不难 ...

  6. SuperVideo,一款直播,点播,投屏并有的app

    应用名称:SuperVideo应用简介: 1.聚合海量视频,视频源来源于搜狐,乐视,优酷, 腾讯等主流视频网站的丰富视频内容,最新院线大片,热播剧随时看 2.基于百度云解码,享受云解码支持RMVB,M ...

  7. weakref 待解决.

    暂时不知为何在控制台多执行一次b()后,del a就不会立即销毁Foo实例. >>> class Foo(object): def __init__(self): self.obj ...

  8. Node.js 撸第一个Web应用

    使用Node.js 创建Web 应用与使用PHP/Java 语言创建Web应用略有不同. 使用PHP/Java 来编写后台代码时,需要Apache 或者 Nginx 的HTTP 服务器,而接受请求和提 ...

  9. SQL Server 执行计划操作符详解(1)——断言(Assert)

    前言: 很多很多地方对于语句的优化,一般比较靠谱的回复即使--把执行计划发出来看看.当然那些只看语句就说如何如何改代码,我一直都是拒绝的,因为这种算是纯蒙.根据本人经验,大量的性能问题单纯从语句来看很 ...

  10. Swift中声明协议中的class关键字的作用

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 最近在Cocos2D编程for Swift中看到以下一个代码片 ...