My DAO and DAOImlp classes were generated by Ibator.  The only generated 
constructor for AliasesDAOImpl is below:
 
---snip---
 /**  * This method was generated by Abator for iBATIS. This method corresponds 
to the database table aliases  * @abatorgenerated  Fri Sep 05 23:35:30 EST 2008 
 */ public AliasesDAOImpl ( SqlMapClient sqlMapClient ) {  super ();  
this.sqlMapClient = sqlMapClient; }
---snip---
Is there a config option for abatorConfig.xml that tells Ibator to build 
classes including a constructor that takes a DaoManager object?
 
Thanks,
 
Paul



Subject: RE: java.lang.InstantiationException using Ibatis DAODate: Mon, 8 Sep 
2008 08:56:37 +0200From: [EMAIL PROTECTED]: [email protected]






Your AliasesDaoImpl should have a public constructor that takes a DaoManager as 
its single argument. Can you check that this is the case?
 
Hth,
 
Niels




From: Paul Ski [mailto:[EMAIL PROTECTED] Sent: Sunday, September 07, 2008 3:47 
AMTo: [EMAIL PROTECTED]: java.lang.InstantiationException using Ibatis DAO
 
Hi list, Environment: - Windows XP- Java(TM) SE Runtime Environment (build 
1.6.0_10-rc-b28)- Eclipse Version: 3.4.0 Build id: I20080617-2000- Ibatis 
2.3.0.677 Project 
Jars:mysql-connector-java-5.1.6-bin.jaribatis-2.3.0.677.jaribatis-dao-2.jar 
I've created a class to return me a DaoManager object ---snip---import 
java.io.Reader;import com.ibatis.common.resources.Resources;import 
com.ibatis.dao.client.DaoManager;import 
com.ibatis.dao.client.DaoManagerBuilder; public class DaoManagerMapper{ private 
static final DaoManager daoManager; static {  try  {   Reader reader = 
Resources.getResourceAsReader ( "dao.xml" );   daoManager = 
DaoManagerBuilder.buildDaoManager ( reader );  }  catch ( Exception e )  {   
throw new RuntimeException (     "Could not initialize DaoManager. Cause: " + e 
);  } } public static DaoManager getDaoManager () {  return daoManager; 
}}---snip--- Test stub to call the code is: ---snip---import 
com.ibatis.dao.client.DaoManager;import com.intient.smash.ibatis.Aliases;import 
com.intient.smash.ibatis.impl.AliasesDAO; public class TestDaoManagerMapper{ 
public TestDaoManagerMapper () {  try  {   DaoManager daoManager = 
DaoManagerMapper.getDaoManager ();   AliasesDAO aliasesDao = 
(AliasesDAO)daoManager     .getDao ( AliasesDAO.class );   try   {...  }  catch 
( Exception e )  {   e.printStackTrace ();  } } public static void main ( 
String[] args ) {  new TestDaoManagerMapper (); }}---snip--- DAO Config: 
---snip---<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE daoConfig PUBLIC 
"-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" 
"http://ibatis.apache.org/dtd/dao-2.dtd";><daoConfig> <context>  
<transactionManager type="SQLMAP">   <property name="SqlMapConfigResource" 
value="sqlMapConfig.xml" />  </transactionManager>      <!-- DAO interfaces and 
implementations should be listed here -->  <dao 
interface="com.intient.smash.ibatis.impl.AliasesDAO"   
implementation="com.intient.smash.ibatis.impl.AliasesDAOImpl" />... 
</context></daoConfig>---snip--- ---snip---<?xml version="1.0" 
encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL 
Map Config 2.0//EN" 
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd";><sqlMapConfig> <settings 
useStatementNamespaces="true" /> <transactionManager type="JDBC">  <dataSource 
type="SIMPLE">   <property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />  
 <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/xxxxxxxx" /> 
  <property name="JDBC.Username" value="xxxxxxxx" />   <property 
name="JDBC.Password" value="xxxxxxxx" />   <property 
name="JDBC.DefaultAutoCommit" value="true" />  </dataSource> 
</transactionManager> <sqlMap 
resource="com/intient/smash/ibatis/maps/aliases_SqlMap.xml" 
/>...</sqlMapConfig>---snip--- Exception: ---snip---Exception in thread "main" 
java.lang.ExceptionInInitializerError at 
com.intient.smash.TestDaoManagerMapper.<init>(TestDaoManagerMapper.java:14) at 
com.intient.smash.TestDaoManagerMapper.main(TestDaoManagerMapper.java:40)Caused 
by: java.lang.RuntimeException: Could not initialize DaoManager. Cause: 
com.ibatis.dao.client.DaoException: Error while configuring DaoManager.  Cause: 
com.ibatis.dao.client.DaoException: Error configuring DAO.  Cause: 
java.lang.InstantiationException: com.intient.smash.ibatis.impl.AliasesDAOImpl 
at com.intient.smash.DaoManagerMapper.<clinit>(DaoManagerMapper.java:24) ... 2 
more---snip--- I can get the SQL Map to work against my database and pull out 
data but the above DAO code throws the above exception. Any ideas would be 
helpful. Thanks, Paul



Enter today! Win a Hotmail Go-Kart to race at Bathurst.
_________________________________________________________________
Are you paid what you're worth? Find out: SEEK Salary Centre
http://a.ninemsn.com.au/b.aspx?URL=http%3A%2F%2Fninemsn%2Eseek%2Ecom%2Eau%2Fcareer%2Dresources%2Fsalary%2Dcentre%2F%3Ftracking%3Dsk%3Ahet%3Asc%3Anine%3A0%3Ahot%3Atext&_t=764565661&_r=OCT07_endtext_salary&_m=EXT

Reply via email to