一、整理简单的知识点:
1、JDBC的步骤以及具体编码
//a、加载注册驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
-------------------------------oracle-------------------------------- 驱动:oracle.jdbc.driver.OracleDriver URL:jdbc:oracle:thin:@<machine_name><:port>:dbname 注: machine_name:数据库所在的机器的名称; port:端口号,默认是1521 -------------------------------mysql-------------------------------- 驱动:org.gjt.mm.mysql.Driver com.mysql.jdbc.Driver URL:jdbc:mysql://<machine_name><:port>/dbname 注: machine_name:数据库所在的机器的名称; port:端口号,默认3306 ----------------------------pointbase--------------------------------- 驱动:com.pointbase.jdbc.jdbcUniversalDriver URL:jdbc:pointbase:server://<machine_name><:port>/dbname 注: machine_name:数据库所在的机器的名称; port:端口号,默认是9092 ---------------------------SQL Server--------------------------------- 驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver URL:jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname> 注:machine_name:数据库所在的机器的名称; port:端口号,默认是1433 --------------------------DB2--------------------------------------------- 驱动:com.ibm.db2.jdbc.app.DB2Driver URL:jdbc:db2://<machine_name><:port>/dbname 注: machine_name:数据库所在的机器的名称; port:端口号,默认是5000
//JdbcUtil
package javai.com.whatisjava.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * * @author xum * * 编写的jdbc工具类 */ public class JdbcUtil { private static String hh = "sdfsd"; // 加载驱动 static { String driverName = "oracle.jdbc.driver.OracleDriver"; try { Class.forName(driverName); } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 获取连接;获取PreparedStatement对象、操作数据库、处理结果集都在具体调用类中实现 public static Connection getConnection(String url, String userName, String password) { Connection conn = null; try { conn = DriverManager.getConnection(url, userName, password); } catch (SQLException e) { e.printStackTrace(); } return conn; } // 关闭资源 public static void close(ResultSet rs, PreparedStatement ps, Connection conn) { if (rs != null) try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } if (ps != null) try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } if (conn != null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } // 判断资源类型单个关闭资源 public static void close(Object obj) { try { if ((obj instanceof ResultSet) && obj != null) { ((ResultSet) obj).close(); } else if ((obj instanceof PreparedStatement) && obj != null) { ((PreparedStatement) obj).close(); } else if ((obj instanceof Connection) && obj != null) { ((Connection) obj).close(); } } catch (SQLException e) { e.printStackTrace(); } } }
//简单的实例类:MyJDBCCode
package testjdbc; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import javai.com.whatisjava.utils.JdbcUtil; /** * * @author Administrator * */ public class MyJDBCCode { // 加载驱动 必须在静态代码块中注册驱动 private String url = ""; private String user = ""; private String password = ""; public static void main(String[] args) { MyJDBCCode mj = new MyJDBCCode(); mj.accessDataBase(); } /** * 访问数据库 */ public void accessDataBase() { this.loadProperties(); Connection conn = JdbcUtil.getConnection(url, user, password); String sql = "SELECT COUNT(*) cnt FROM T_PORT T "; PreparedStatement ptmt = null; ResultSet rs = null; try { ptmt = conn.prepareStatement(sql); rs = ptmt.executeQuery(); int count = 0; while (rs.next()) { count = rs.getInt(1); } System.out.println(count); } catch (SQLException e) { e.printStackTrace(); } finally { JdbcUtil.close(rs, ptmt, conn); } } /** * 资源加载 */ private void loadProperties() { Properties prop = new Properties(); try { prop.load(this.getClass().getResourceAsStream("jdbc.properties")); } catch (IOException e) { e.printStackTrace(); } url = prop.getProperty("url"); user = prop.getProperty("userName"); password = prop.getProperty("password"); } }
//配置文件:jdbc.properties
url=jdbc:oracle:thin:@192.168.8.50:1521:ora9i userName=yoursname password=yourspassword
MyJDBCCode中prop.load(this.getClass().getResourceAsStream("jdbc.properties"));用的是相对路径,配置文件放在和该类同一包下。
该路径也可以用"/"开头用来指定绝对路径。