Было очень интересно, когда я использовал рамки от Craftsman. Эта платформа очень полезна для ведения журнала JDBC.
Craftsman Spy — это открытый и бесплатный фреймворк для ведения журнала JDBC, это реализация драйвера JDBC, вы можете скачать его с http://zer0.free.fr/craftsman/spy.php , а также связать его в своем локальном репозитории для Maven: как это работает? Я объясню это в моей следующей статье.
Каковы преимущества мастера Spy?
Шпионский журнал регистрирует все соединения и обработку SQL с выполненным затраченным временем, все хранимые процедуры с аргументами, все пакетные обработки и наборы результатов. Craftsman SPY Framework очень полезен для всех JunitTests, потому что вы видите, что работает под крышей и все скрытые процессы. Вы не можете найти все эти возможности в Spring JDBC Framework, жалко!
Как Spring-JDBC работает без Spy Framework?
Вы можете использовать стандартный JDBCTemplate из Spring, как показано в следующей конфигурации, которую я взял из Spring Data для доступа к JDBC:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="corporateEventDao" class="com.example.JdbcCorporateEventDao">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
</beans>
И теперь вы можете работать с источником данных следующим образом:
public class JdbcCorporateEventDao implements CorporateEventDao {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
} }
Как Spring-JDBC работает со средой Spy
Связать шпион Craftsman и среду Spring JDBC очень просто. Вы должны только связать загрузку JAR-файлов SPY с http://zer0.free.fr/craftsman/spy.php или использовать Maven для получения Jars из вашего локального репозитория. Во-вторых, вы должны изменить только конфигурацию Spring-JDBC:
- Измените имя драйвераClassName на craftsman.spy.SpyDriver
- И вы также должны изменить URL-адрес для способных Spy Framework
Как это:
Перед:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/></bean>
После:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="craftsman.spy.SpyDriver"
<property name="url" value="jdbc:spy:mysql://server.com:5000/database"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/> </bean>
Надеюсь это был полезный пост.