JDBC连接步骤以及常用方式


 一、整理简单的知识点:


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"));用的是相对路径,配置文件放在和该类同一包下。

该路径也可以用"/"开头用来指定绝对路径。


 

猜你喜欢

转载自xm-koma.iteye.com/blog/1110446