1.配置Tomcat資料來源

團長李雲龍發表於2018-12-29

DBCP資料來源與應用伺服器整合使用—— 配置Tomcat資料來源

檢視Tomcat文件(Tomcat-->TomcatDocument-->JNDI Resources-->定位到JDBC Data Sources),示例程式碼:

<Resource name="jdbc/datasource" auth="Container"  type="javax.sql.DataSource" username="root" password="root"  driverClassName="com.mysql.jdbc.Driver" 
url="jdbc:mysql://localhost:3306/jdbc"  maxActive="8" maxIdle="4"  /> 
<Resource name="jdbc/EmployeeDB " auth="Container" type="javax.sql.DataSource" 
username="root" password="root"  driverClassName="com.mysql.jdbc.Driver" 
url="jdbc:mysql://localhost:3306/jdbc"  maxActive="8" maxIdle="4"  /> 
</Context>
複製程式碼

放置位置:在MyEclipse中,在目錄/META-INF/下建立檔案context.xml,將上述內容貼上其中(注:不要寫XML檔案的指令頭句)。該檔案將被髮布到Tomcat伺服器的conf\Catalina\localhost目錄中,並以工程名稱 命名該檔案。

下面是呼叫JNDI,獲取儲存在JNDI容器中的資源的固定格式程式碼

Context initCtx = new InitialContext(); 
Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
dataSource = (DataSource)envCtx.lookup("jdbc/datasource"); 
複製程式碼

特別提醒:此種配置下,驅動jar檔案需放置在tomcat的lib下 可以建立工具類JDBCUtils,java來封裝上面獲取連線的程式碼。 Demo樣例: 封裝JNDI呼叫DataSource 獲取連線的程式碼。 複製程式碼

public class JdbcUtils_Tomcat {
         private static DataSource ds;
         static {
             try {
                 Context initCtx = new InitialContext();
                 Context envCtx = (Context) initCtx.lookup("java:comp/env");
                 ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB");
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
         }
         public static Connection getConnection() throws SQLException{
             return ds.getConnection();
         }
     }
複製程式碼

WiHongNoteBook

相關文章