Right... insert cannot return type Key.  It must return an integer, which is
the number of rows inserted.

Clinton

On Sun, Jan 31, 2010 at 7:00 PM, Chip Owen <cowen...@earthlink.net> wrote:

>  Clinton –
>
>
>
> Here is the Key mapper interface definition:
>
>
>
> package com.catalog.model.dao;
>
>
>
> import java.util.List;
>
>
>
> import com.catalog.model.Key;
>
>
>
> public interface KeyMapper {
>
>    Key insertKey(Key key);
>
>
>
>    Key selectKey(int keyid);
>
>
>
>    List<Key> selectKeys();
>
> }
>
>
>
> Currently, I have the return type from insertKey as “Key”. Presumbably,
> this would be a key object containing the newly created key object and key
> id.
>
>
>
> - Chip
>
>
>  ------------------------------
>
> *From:* Clinton Begin [mailto:clinton.be...@gmail.com]
> *Sent:* Sunday, January 31, 2010 8:41 PM
> *To:* user-java@ibatis.apache.org
> *Subject:* Re: Ibatis 3 Insert Error
>
>
>
> What's the return type of the mapper method?
>
> Clinton
>
> On Sun, Jan 31, 2010 at 3:03 PM, ChippyJoey <cowen...@earthlink.net>
> wrote:
>
>
> Hi –
>
> I am new to Ibatis and I have run into an issue regarding inserts into a
> table. I am getting the following error when I attempt to insert data into
> a
> table:
>
> DEBUG [main] - Checked out connection 14247087 from pool.
> DEBUG [main] - ooo Connection Opened
> DEBUG [main] - ==>  Executing: insert into dbo.[Key] (KeyId, KeyValue)
> values (?, ?)
> DEBUG [main] - ==> Parameters: 1(String), Test 147(String)
> java.lang.ClassCastException: java.lang.Integer
>      at $Proxy4.insertKey(Unknown Source)
>      at com.catalog.model.dao.impl.KeyImpl.insertKey(KeyImpl.java:21)
>      at com.catalog.appl.Import.addKey(Import.java:74)
>      at com.catalog.appl.Import.importFiles(Import.java:33)
>      at com.catalog.appl.Import.main(Import.java:204)
> DEBUG [main] - xxx Connection Closed
> DEBUG [main] - Returned connection 14247087 to pool.
>
> The table that I am attempting to insert into has the following definition:
>
> CREATE TABLE [dbo].[Key](
>      [KeyId] [nchar](10) NULL,
>      [KeyValue] [nchar](10) NULL
> ) ON [PRIMARY]
>
> I am using the following SQL map for inserts into the Key table:
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE mapper PUBLIC 
> "-//ibatis.apache.org//DTD<http://ibatis.apache.org/DTD>Mapper 3.0//EN"
> "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd";>
> <mapper namespace="com.catalog.model.dao.KeyMapper">
>  <insert id="insertKey" parameterType="com.catalog.model.Key">
>    insert into dbo.[Key]
>       (KeyId, KeyValue)
>   values
>
>       (#{keyid}, #{keyvalue})
>  </insert>
> </mapper>
>
> I have the following environment:
>
> Ibatis 3 (ibatis-3-core-3.0.0.227.jar)
> Java 1.5
> SQL Server 2008 Express
>
> Whats interesting about the error is that the Key table does not even have
> an Integer type that could cause a casting problem. I am wondering if the
> casting issue is occurring as a result of Ibatis attempting to handle the
> row count after the insert has completed (i.e. 1 row inserted). I am sure I
> am doing something wrong but I am not sure what it is. Any help would be
> greatly appreciated.
>
> Thanks in advance.
>
> - Chip
>
> --
> View this message in context:
> http://old.nabble.com/Ibatis-3-Insert-Error-tp27397120p27397120.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org
> For additional commands, e-mail: user-java-h...@ibatis.apache.org
>
>
>

Reply via email to