Mybatis中的三類數據源 UNPOOLED、POOLED 和 JNDI 的區別


1、mybatis中的數據源

mybatis連接池為我們提供了3種方式的配置:

  1. POOLED:采用傳統的javax.sql.DataSource規范中的連接池,mybatis中有針對規范的實現
  2. UNPOOLED:采用傳統的獲取連接的方式,雖然也實現Javax.sql.DataSource接口,但是並沒有使用池的思想。
  3. JNDI:采用服務器提供的JNDI技術實現,來獲取DataSource對象,不同的服務器所能拿到DataSource是不一樣。

注意:如果不是web或者maven的war工程,JNDI是不能使用的。


2、在mybatis中配置數據源

2.1、POOLED數據源的配置方式

<dataSource type="POOLED">
       <property name="driver" value="com.mysql.jdbc.Driver"/>
       <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
       <property name="username" value="root"/>
       <property name="password" value="root"/>
 </dataSource>

 

2.2、UNPOOLED數據源的配置方式

<dataSource type="UNPOOLED">
           <property name="driver" value="com.mysql.jdbc.Driver"/>
           <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
           <property name="username" value="root"/>
           <property name="password" value="root"/>
</dataSource>

 

2.3、JNDI數據源的配置方式

將數據源的配置文件 context.xml 放到工程的webapp/META-INF/下

context.xml

<Resource   name="jdbc/mybatis" 數據源的名稱   type="javax.sql.DataSource" 數據源類型   auth="Container" 數據源提供者   maxActive="20" 最大活動數   maxWait="10000" 最大等待時間   maxIdle="5" 最大空閑數   username="root" 用戶名   password="1234" 密碼   driverClassName="com.mysql.jdbc.Driver" 驅動類   url="jdbc:mysql://localhost:3306/mybatis" 連接url字符串 />

 

然后在mybatis的主配置文件中配置數據源,其中前綴"java:comp/env/ "是固定的,后綴 "jdbc/mybatis" 是在context.xml中取的JNDI數據源名稱

<dataSource type="JNDI">
       <property name="data_source" value="java:comp/env/jdbc/mybatis"/>
</dataSource>

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM