1、Hibernate内置连接池
hibernate.cfg.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://192.168.56.101:3306/bookstore?useSSL=false</property>
<property name="connection.username">billy</property>
<property name="connection.password">xxxxxx</property>
<property name="show_sql">true</property>
<mapping class="com.zhangdb.hibernate.Book" />
</session-factory>
</hibernate-configuration>
以上配置没有明确说明使用何种类型连接池,Hibernate会使用内置的连接池实现,采用默认值。这种实现并非面向生产环境,多用于开发测试。
2、javax.sql.DataSource连接池
Hibernate可以与javax.sql.DataSource类型的连接池集成,通过JNDI方式直接从连接池取得连接。
以Tomcat为例,可以修改Tomcat的conf下的context.xml文件,在这里边定义连接数据库的信息及连接池配置。当然context.xml文件也可以放置在web项目下的META-INF目录下。前者Tomcat下的所有WEB都可以使用,后者则只有当前WEB应用可以使用。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/bookstore"
auth="Container"
type=