一、整理简单的知识点:
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"));用的是相对路径,配置文件放在和该类同一包下。
该路径也可以用"/"开头用来指定绝对路径。