站保站

服务市场
  • 网站市场
  • 单机游戏
  • 平台大厅
  • 转让市场
  • 发卡市场
  • 广告市场
  • 下载市场
  • 收录市场
  • 本站平台
    平台客服
    微信Q群



    平台微博/weibo    平台微信/公众号    平台抖音/快手   
    曝光台    保障    地图   
    上传资源 快速赚钱
    站保站    登录      |  注册  |  

    只需一步,快速开始!

     找回密码   |   协议
    热门搜索: 网站开发 App报毒 挖矿源码 代办资质

    Java 简单的复习下JDBC 工具类

    • 时间:2020-10-27 10:04 编辑:墨着染霜华 来源: 阅读:43
    • 扫一扫,手机访问
    摘要:
    1. <!-- sqlserver jdbc-->
    2. <dependency>
    3. <groupId>com.microsoft.sqlserver</groupId>
    4. <artifactId>mssql-jdbc</artifactId>
    5. <version>6.2.0.jre8</version>
    6. </dependency>
    7. <dependency>
    8. <groupId>com.microsoft.sqlserver</groupId>
    9. <artifactId>sqljdbc4</artifactId>
    10. <version>4.2</version>
    11. </dependency>

    引入相关依赖之后,编写工具类(现在框架都将这个封装进去了,简单的瞎写了下,就当熟悉)

    1. @Slf4j
    2. public class JdbcUtil {
    3. public static boolean testConnection(AppProperties appProperties){
    4. Connection conn = null;
    5. try {
    6. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    7. //注意url中没有microsoft才能使用,网上增加了microsoft的会出现No suitable driver found for//jdbc:microsoft:sqlserver:……的错误
    8. //若安装多个实例时,要确认相应的port及实例名
    9. String url="jdbc:sqlserver://"+appProperties.getDbsrc()+":"+appProperties.getDbport()+";DatabaseName="+appProperties.getDbname();
    10. String user=appProperties.getDbuser();
    11. String password=appProperties.getDbpwd();
    12. conn= DriverManager.getConnection(url,user,password);
    13. log.info("数据库连接成功!");
    14. return true;
    15. } catch (Exception e) {
    16. // TODO Auto-generated catch block
    17. // e.printStackTrace();
    18. }finally {
    19. if(conn!=null) {
    20. try {
    21. conn.close();
    22. } catch (Exception e) {
    23. // TODO Auto-generated catch block
    24. //e.printStackTrace();
    25. }
    26. conn = null;
    27. }
    28. }
    29. return false;
    30. }
    31. /** 获取链接 */
    32. public static Connection getConn() {
    33. return conn;
    34. }
    35. /** 关闭链接,释放资源 */
    36. public static void close() {
    37. try {
    38. if (rs != null) {
    39. rs.close();
    40. rs = null;
    41. }
    42. if (stmt != null) {
    43. stmt.close();
    44. stmt = null;
    45. }
    46. if (conn != null) {
    47. conn.close();
    48. conn = null;
    49. }
    50. } catch (SQLException e) {
    51. System.err.println("资源释放发生异常");
    52. }
    53. }
    54. /**
    55. * 获取指定数据库下所有的表名
    56. * @param dbNm
    57. * @return
    58. */
    59. public static List<String> getAllTableName(String dbNm) {
    60. List<String> result = new ArrayList<String>();
    61. Statement st = null;
    62. try {
    63. st = conn.createStatement();
    64. ResultSet rs = st.executeQuery("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='" + dbNm + "'");
    65. while (rs.next()) {
    66. result.add(rs.getString(1));
    67. }
    68. } catch (SQLException e) {
    69. e.printStackTrace();
    70. } finally {
    71. if (st != null) {
    72. try {
    73. st.close();
    74. } catch (SQLException e) {
    75. e.printStackTrace();
    76. }
    77. }
    78. close();
    79. }
    80. return result;
    81. }
    82. /** 执行SQL返回ResultSet */
    83. public static ResultSet executeSql(String sql, Object... args) {
    84. try {
    85. // System.out.println("准备执行SQL : \n" + sql);
    86. stmt = conn.prepareStatement(sql);
    87. if (null != args && args.length != 0) {
    88. for (int i = 0; i < args.length; i++) {
    89. stmt.setObject(i + 1, args[i]);
    90. }
    91. }
    92. rs = stmt.executeQuery();
    93. } catch (SQLException e) {
    94. System.err.println("数据查询异常");
    95. e.printStackTrace();
    96. }
    97. return rs;
    98. }
    99. /**
    100. * @title 查询数据结果 , 并封装为对象
    101. * @author Xingbz
    102. */
    103. private static <T> T excuteQuery(Class<T> klass, String sql, Object... args) {
    104. try {
    105. rs = executeSql(sql, args);
    106. ResultSetMetaData metaData = rs.getMetaData();
    107. Map<String, Object> resultMap = new HashMap<>();
    108. if (rs.next()) {
    109. for (int i = 1; i <= metaData.getColumnCount(); i++) {
    110. String columnname = metaData.getColumnLabel(i);
    111. Object obj = rs.getObject(i);
    112. resultMap.put(columnname, obj);
    113. }
    114. }
    115. return JSON.parseObject(JSON.toJSONString(resultMap), klass);
    116. } catch (Exception e) {
    117. System.err.println("数据查询异常");
    118. e.printStackTrace();
    119. } finally {
    120. close();
    121. }
    122. return JSON.toJavaObject(new JSONObject(), klass);
    123. }
    124. /**
    125. * @title 查询数据结果 , 并封装为List
    126. * @author Xingbz
    127. */
    128. private static <T> List<T> excuteQueryToList(Class<T> klass, String sql, Object... args) {
    129. try {
    130. rs = executeSql(sql, args);
    131. List<Map<String, String>> resultList = new ArrayList<>();
    132. Map<String, String> resultMap = new HashMap<>();
    133. while (rs.next()) {
    134. ResultSetMetaData metaData = rs.getMetaData();
    135. int columnCount = metaData.getColumnCount();
    136. for (int i = 1; i <= columnCount; i++) {
    137. resultMap.put(metaData.getColumnName(i), rs.getString(i));
    138. }
    139. resultList.add(resultMap);
    140. }
    141. return JSON.parseArray(JSON.toJSONString(resultList), klass);
    142. } catch (Exception e) {
    143. System.err.println("数据查询异常");
    144. e.printStackTrace();
    145. } finally {
    146. close();
    147. }
    148. return JSON.parseArray("[]", klass);
    149. }
    150. }

     

    • 全部评论(0)
    • 最新

    信息加载中,请等待

    微信客服(速回)

    微信客服(慢回)



    企业微信客服二维码
    联系我们
    平台客服: 平台QQ客服

    平台电话:400电话迁移中!

    平台邮箱:28292383@qq.com

    工作时间:周一至周五:早10:00 晚:18:00

    营业执照     网站ICP备案:鲁ICP备20027607号-1     鲁公网安备:37068702000078号     增值电信业务经营许可证、在线数据与交易处理业务许可证:鲁B2-20200681      © 2016-2024 站保站  https://www.zhanbaozhan.com/ 版权所有!      平台规范:   关于我们   广告合作   隐私条款   免责声明   法律声明   服务条款   网站地图   平台工单!