Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 15741|Jawab: 7

[Kiat] Alat JDBC (DBUtils.java & SqlHelp.java & dbinfo.properties)

[Salin tautan]
Diposting pada 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
Salin kode





Mantan:Lelah dan mengantuk, bersenang-senang
Depan:Beberapa saran pribadi untuk forum!
Diposting pada 17/11/2014 21.57.29 |
Database Oracle Operasi Java?
 Tuan tanah| Diposting pada 17/11/2014 22.05.45 |
admin Dipaparkan pada 2014-11-17 21:57
Database Oracle Operasi Java?

Baiklah................
Diposting pada 17/11/2014 22.06.20 |

Nah, kami baru belajar SQL Server sekarang, dan database lain belum belajar untuk saat ini
 Tuan tanah| Diposting pada 17/11/2014 22.07.30 |
admin Dipaparkan pada 2014-11-17 22:06
Nah, kami baru belajar SQL Server sekarang, dan database lain belum belajar untuk saat ini

Dapatkah saya mengatakan bahwa guru hanya berbicara tentang penambahan, penghapusan, modifikasi, dan pemeriksaan sqlserver hari ini?
Diposting pada 17/11/2014 22.07.59 |
Delver_Si Dipaparkan pada 2014-11-17 22:07
Dapatkah saya mengatakan bahwa guru hanya berbicara tentang penambahan, penghapusan, modifikasi, dan pemeriksaan sqlserver hari ini?

。。。。。 Dapatkah saya mengatakan bahwa kita telah mempelajari semua tentang SQL Server?
Diposting pada 17/11/2014 22.34.08 |
Tuan tanah terlihat luar biasa
Diposting pada 17/11/2014 22.50.34 |
Belajar Java tidaklah mudah
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com