Я искал в каждом уголке Интернета без результата. Я использую Spring и пытаюсь ввести Jdbc-операции в класс DaoImpl.spring jdbcdaosupport возвращает null
Похоже, что у меня что-то отсутствует, поскольку класс DaoImpl возвращает null при запросе чего-то, что я делаю неправильно?
Bean конфигурации: даосские
<bean id="transactionDao" class="jdbc.dao.OracleTransactionDao">
<property name="jdbcTemplate" ref="jdbcTemplate" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- ORACLE CONNECTION -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="${url}" />
<property name="username" value="${dbname}" />
<property name="password" value="${dbpassword}" />
</bean>
Интерфейс:
interface TransactionDao extends Serializable {
public abstract void insert (Transaction transaction);
Как вы можете видеть в боба конфигурации, и в этом классе ниже, я в настоящее время оба пытаются впрыснуть JdbcTemplate и пытаясь использовать расширенные методы JdbcDaoSupport Реализация dao:
OracleTransactionDao extends JdbcDaoSupport implements
TransactionDao {
@Autowired
JdbcTemplate template;
@Override
public void insert (Transaction transaction) {
List<Map<String, Object>> list;
try{
list = template
.queryForList("SELECT * FROM CUSTOMER");
}catch(NullPointerException e) {
list = this.queryForList("SELECT * FROM CUSTOMER");
}
System.out.println("called insert" + list.size());
}
My main: ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext ( "beanConfigs.xml"); context.registerShutdownHook(); OracleTransactionDao dao = (OracleTransactionDao) контекст .getBean ("transactionDao");
Возможно, мне не хватает информации о нем?
Заранее благодарен!
Пожалуйста, установите DriverName к «Оракул .jdbc.OracleDriver "и посмотреть, работает ли он – rgrebski
Драйвер работает в основном, поэтому я не думаю, что его драйвер .. Его что-то с введением jdbctemplate в мой DaoObj, я нашел обходное решение на данный момент, вводя контекст в DaoObj, а затем insta sating статический jdbctemplate внутри моего DaoObjImpl, и драйвер не жалуется .. Спасибо – MRK187
Thats weird, потому что я создал модульный тест для вашего сценария, и он работает – rgrebski