Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 15741|Antwort: 7

[Tipps] JDBC Tools (DBUtils.java & SqlHelp.java & dbinfo.properties)

[Link kopieren]
Veröffentlicht am 17.11.2014 21:35:20 | | |
  1. package com.zjw.jdbc;

  2. import java.io.InputStream;
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.util.Properties;

  9. public class DBUtils {
  10.         static Connection ct = null;
  11.         
  12.         // 连接数据库参数
  13.         private static String url = "";
  14.         private static String username = "";
  15.         private static String driver = "";
  16.         private static String password = "";

  17.         // 读配置文件
  18.         private static Properties pp = null;
  19.         private static InputStream fis = null;

  20.         static {
  21.                 // 加载驱动,只需要一次
  22.                 try {
  23.                         pp = new Properties();
  24.                         //fis = new FileInputStream("src/dbinfo.properties");
  25.                         //在java web中,读取文件要使用类加载器,资源目录默认src
  26.                         fis=SqlHelp.class.getClassLoader().getResourceAsStream("com/zjw/jdbc/dbinfo.properties");
  27.                         pp.load(fis);
  28.                         //从属性文件中读取信息
  29.                         url = pp.getProperty("url");
  30.                         username = pp.getProperty("username");
  31.                         driver = pp.getProperty("driver");
  32.                         password = pp.getProperty("password");
  33.                         Class.forName(driver);
  34.                 } catch (Exception e) {
  35.                         e.printStackTrace();
  36.                         System.exit(-1);
  37.                 }
  38.         }

  39.         // 得到连接
  40.         public static Connection getConnection() {
  41.                
  42.                         try {
  43.                                 ct= DriverManager.getConnection(url, username, password);
  44.                         } catch (SQLException e) {
  45.                                 // TODO Auto-generated catch block
  46.                                 e.printStackTrace();
  47.                         }
  48.                         return ct;
  49.                
  50.         }
  51.         
  52.         //关闭连接
  53.         public static void closeConn(ResultSet rs,PreparedStatement ps,Connection ct) {
  54.                
  55.                         if(rs!= null)
  56.                                 try {
  57.                                         rs.close();
  58.                                 } catch (SQLException e) {
  59.                                         // TODO Auto-generated catch block
  60.                                         e.printStackTrace();
  61.                                 }
  62.             if(ps!= null)
  63.                                 try {
  64.                                         ps.close();
  65.                                 } catch (SQLException e) {
  66.                                         // TODO Auto-generated catch block
  67.                                         e.printStackTrace();
  68.                                 }
  69.             if(ct != null)
  70.                                 try {
  71.                                         ct.close();
  72.                                 } catch (SQLException e) {
  73.                                         // TODO Auto-generated catch block
  74.                                         e.printStackTrace();
  75.                                 }
  76.                         
  77.         }

  78. }



  79. /*
  80. * 主要用于对数据库的crud操作
  81. */
  82. package com.zjw.jdbc;

  83. import java.io.*;
  84. import java.sql.*;
  85. import java.util.*;

  86. /**
  87. * @author Delver_Si
  88. *
  89. */
  90. public class SqlHelp {
  91.         private Connection ct = null;
  92.         private PreparedStatement ps = null;

  93.         private ResultSet rs = null;

  94.         
  95.         // 查询方法,得到ArrayList集合
  96.         public ArrayList<Object[]> executeQuery(String sql,String...paras) {//...可变参数
  97.                
  98.                 ArrayList<Object[]> al = new ArrayList<Object[]>();
  99.                 try {
  100.                         ct=DBUtils.getConnection();
  101.                         ps = ct.prepareStatement(sql);
  102.                         for(int i=0;i<paras.length;i++){
  103.                                 ps.setString(i+1, paras);
  104.                         }
  105.                         rs = ps.executeQuery();
  106.                         
  107.                         ResultSetMetaData rsmd=rs.getMetaData();
  108.                         //返回结果集有多少列
  109.                         int columNum= rsmd.getColumnCount();
  110.                         while(rs.next()){
  111.                                 Object[] objects=new Object[columNum];
  112.                         for(int i=0;i<objects.length;i++){
  113.                                 objects=rs.getObject(i+1);
  114.                         }
  115.                         al.add(objects);
  116.                         }

  117.                 } catch (SQLException e) {
  118.                         // TODO Auto-generated catch block
  119.                         e.printStackTrace();
  120.                 }finally{
  121.                         
  122.                         DBUtils.closeConn(rs, ps, ct);
  123.                 }
  124.                
  125.                
  126.                 return al;

  127.         }
  128.         
  129.         //增删改方法
  130.         public int executeUpdate(String sql) {
  131.                 int i=0;
  132.                 // 获得连接
  133.                 try {
  134.                         ct=DBUtils.getConnection();
  135.                         // 创建一个基于该连接的语句对象
  136.                         ps = ct.prepareStatement(sql);
  137.                         // 执行sql语句
  138.                         i =ps.executeUpdate();
  139.                         
  140.                 } catch (SQLException e) {
  141.                         e.printStackTrace();
  142.                 } finally {
  143.                         DBUtils.closeConn(rs, ps, ct);
  144.                 }
  145.                 return i;
  146.         }
  147. }



  148. dbinfo.properties.bak(oracle )

  149. url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
  150. username=scott
  151. driver=oracle.jdbc.driver.OracleDriver
  152. password=tiger
Code kopieren





Vorhergehend:Müde und müde, viel Spaß
Nächster:Einige persönliche Vorschläge für das Forum!
Veröffentlicht am 17.11.2014 21:57:29 |
Java Operations Oracle-Datenbank?
 Vermieter| Veröffentlicht am 17.11.2014 22:05:45 |
Admin veröffentlicht am 17.11.2014, 21:57 Uhr
Java Operations Oracle-Datenbank?

Nun................
Veröffentlicht am 17.11.2014 22:06:20 |

Nun, wir haben SQL Server erst jetzt gelernt, und andere Datenbanken haben es vorerst noch nicht gelernt
 Vermieter| Veröffentlicht am 17.11.2014 22:07:30 |
Admin veröffentlicht am 17.11.2014, 22:06
Nun, wir haben SQL Server erst jetzt gelernt, und andere Datenbanken haben es vorerst noch nicht gelernt

Darf ich sagen, dass der Lehrer heute nur über das Hinzufügen, Löschen, Ändern und Überprüfen von SQL Server gesprochen hat?
Veröffentlicht am 17.11.2014 22:07:59 |
Delver_Si Veröffentlicht am 17.11.2014, 22:07
Darf ich sagen, dass der Lehrer heute nur über das Hinzufügen, Löschen, Ändern und Überprüfen von SQL Server gesprochen hat?

。。。。。 Darf ich sagen, dass wir alles über SQL Server gelernt haben?
Veröffentlicht am 17.11.2014 22:34:08 |
Der Vermieter sieht fantastisch aus
Veröffentlicht am 17.11.2014 22:50:34 |
Java zu lernen ist nicht einfach
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com