1、直接以固定方式寫在一個java類裡進行串連,例如:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;/** * 封裝資料庫常用操作 * @author Administrator * */public class DbUtil {/** * 取得Connection * @return */public static Connection getConnection(){Connection conn = null;try {Class.forName("oracle.jdbc.driver.OracleDriver");String url = "jdbc:oracle:thin:@192.168.26.3:1521:bjpowernode";String username = "test";String password = "test";conn = DriverManager.getConnection(url,username,password);} catch (ClassNotFoundException e) {e.printStackTrace();}catch (SQLException e) {e.printStackTrace();}return conn;}public static void main(String[] arges){System.out.println(DbUtil.getConnection());}}
2、配合xml設定檔靈活的進行資料庫連接(更容易修改)例如:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;/** * 封裝資料庫常用操作 * @author Administrator * */public class DbUtil {/** * 取得Connection * @return */public static Connection getConnection(){Connection conn = null;try {JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();Class.forName(jdbcConfig.getDriverName());String url = jdbcConfig.getUrl();String username = jdbcConfig.getUserName();String password = jdbcConfig.getPassword();conn = DriverManager.getConnection(url,username,password);} catch (ClassNotFoundException e) {e.printStackTrace();}catch (SQLException e) {e.printStackTrace();}return conn;}public static void main(String[] arges){System.out.println(DbUtil.getConnection());}}
JdbcConfig.java類(這裡面還重寫了toString()方法)
/** * jdbc配置資訊 * @author Administrator * */public class JdbcConfig {private String driverName;private String url;private String userName;private String password;public String getDriverName() {return driverName;}public void setDriverName(String driverName) {this.driverName = driverName;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return this.getClass().getName() + "{driverName:" + driverName + ", url:" + url + ", userName:" + userName + ", password:" + password + "}";}}
XmlConfigReader.java類(讀取xml配置資訊使用了單例模式)
import java.io.InputStream;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;/** * 採用單利模式解析sys-config.xml檔案 * @param args */public class XmlConfigReader {////餓漢式(積極式載入)//private static XmlConfigReader instance = new XmlConfigReader();////private XmlConfigReader(){////}////public static XmlConfigReader getInstance(){//return instance;//}//懶漢試(消極式載入lazy)private static XmlConfigReader instance = null;//儲存jdbc相關配置資訊private JdbcConfig jdbcConfig = new JdbcConfig();private XmlConfigReader(){SAXReader reader = new SAXReader();InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");try {Document doc = reader.read(in);//取得jdbc相關的配置Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");Element urlElt = (Element)doc.selectObject("/config/db-info/url");Element userNameElt = (Element)doc.selectObject("/config/db-info/user-name");Element passwordElt = (Element)doc.selectObject("/config/db-info/password");//設定jdbc相關的配置jdbcConfig.setDriverName(driverNameElt.getStringValue());jdbcConfig.setUrl(urlElt.getStringValue());jdbcConfig.setUserName(userNameElt.getStringValue());jdbcConfig.setPassword(passwordElt.getStringValue());} catch (DocumentException e) {e.printStackTrace();}}public static synchronized XmlConfigReader getInstance(){if(instance == null){instance = new XmlConfigReader();}return instance;}//返回jdbc相關配置資訊public JdbcConfig getJdbcConfig(){return jdbcConfig;}public static void main(String[] args) {JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();System.out.println(jdbcConfig);}}
sys-config.xml(設定檔)
<?xml version="1.0" encoding="UTF-8"?><config><db-info><driver-name>oracle.jdbc.driver.OracleDriver</driver-name><url>jdbc:oracle:thin:@192.168.26.3:1521:bjpowernode</url><user-name>test</user-name><password>test</password></db-info></config>