1. 程式人生 > >Java_最原始的獲取資料庫連線的兩種方式

Java_最原始的獲取資料庫連線的兩種方式

via: http://blog.csdn.net/avenccssddnn/article/details/9387979

1.直接JDBC獲取

2.採用配置資料來源,通過命令服務JNDI獲取

針對第一種方式,程式碼形式如下:

public class DBConnection{

private static String url="jdbc:sqlserver://localhost:1433;databaseName=MailBox";

private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";

private static String username="sa";

private static String password="wsh";

private static Connection conn;

static{

try {

Class.forName(driver);

} catch (ClassNotFoundException e) { e.printStackTrace(); }

}

public static Connection getconn(){

try {

conn=DriverManager.getConnection(url,username,password);

} catch (SQLException e) { e.printStackTrace(); }

return conn;

}

針對第二種方式,以TOMCAT6配置方式為例

第一步,在tomcate/conf/context下面加入以下資源定義標籤,包含JNDI命名,授權,型別,資料庫驅動類,資料庫連線路徑,帳號,密碼,最大活動數,最小空閒數,最大等待數等資訊

<Resource name="jdbc/mydb"

       auth="Container"

       type="javax.sql.DataSource"

       driverClassName="oracle.jdbc.driver.OracleDriver"

       url="jdbc:oracle:thin:@localhost:1521:mydb"

       username="bmgis"

       password="bmgis"

       maxActive="100"

       maxIdle="30"

       maxWait="10000" />

第二步,在web.xml下配置資源定義指定的位置,JNDI名必須與之前定義的JNDI名保持一致!

<resource-ref>

    <description>DB Connection</description>

    <res-ref-name>jdbc/mydb</res-ref-name>

    <res-type>javax.sql.DataSource</res-type>

    <res-auth>Container</res-auth>

</resource-ref>

第三步,呼叫獲取

建立上下文

Context initContext = new InitialContext();

獲取資料來源

DataSource ds = (DataSource)envContext.lookup("java:/comp/env/jdbc/mydb");

最後獲取資料庫連線

Connection conn = ds.getConnection();

注:Tomcat5.x,配置資料來源方式與TOMCAT6有些不一樣!