Предполагая, что вы используете Spring для создания веб-приложения, вы, вероятно, захотите сделать что-то вроде этого:
try {
Connection conn = dataSource.getConnection();
try {
// Do something with JOOQ
// No need to use a JdbcTemplate!
}
finally {
if (conn != null) {
conn.close();
}
}
} catch (SQLException e) {
// your error handling
}
Возможно, вы хотите получить DataSource посредством внедрения зависимостей Spring, потому что ваш веб-контейнер,Tomcat или что-то еще, предоставляет DataSource и делает пул соединений.В одном из ваших конфигурационных файлов Spring у вас будет что-то вроде
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/datasource"/>
Объект, в котором находится вышеуказанный код (или некоторый объект, который предоставляет этот код с источником данных), может иметь конфигурацию в файле Spring для создания экземпляраэто с источником данных, например
<bean id="fooService" class="com.fubar.FooServiceImpl">
<constructor-arg ref="dataSource" type="javax.sql.DataSource" />
</bean>
Часть строки "jdbc / datasource" будет соответствовать имени ресурса, настроенному в веб-контейнере.Это варьируется, но для Tomcat это может быть файл контекста в conf / Catalina / localhost под домашним каталогом Tomcat, например,
<?xml version="1.0" encoding="UTF-8"?>
<Context debug="10" reloadable="true" useNaming="true" antiJARLocking="true">
<Resource name="jdbc/datasource" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" validationQuery="SELECT 1"
username="foo" password="fubar" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/foobase"/>
</Context>