ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Sherwin <alex.sher...@acadiasoft.com>
Subject Re: mysql default value
Date Wed, 18 Mar 2009 13:00:30 GMT
What I ususally do:


public String getStatus() {
  return null == status ? "Some Default Value" : status;
}


Alin Popa wrote:
> Thanks Nicholoz,
>
> This is what I've done. And I also have a facade that will abstract
> for the user, the insert actions.
> I thought that ibatis knows how to handle this, or have a trick for it.
>
> On Wed, Mar 18, 2009 at 10:51 AM, Nicholoz Koka Kiknadze
> <kiknadze@gmail.com> wrote:
>   
>>> Why don't you just exclude this field in the <insert>?
>>>       
>> <insert id="insertExampleWithDefaults" parameterClass="com.test.
>> Example">
>>  INSERT INTO vjobs(name, description) VALUES
>> (#name#,#description#)
>> </insert>
>>
>> GL
>>
>>
>>
>> IMO because sometimes one need to insert NULL values too. So why don't you
>> add another insert statement to your xml that will omit the status field?
>>
>> On Wed, Mar 18, 2009 at 4:19 AM, Kengkaj Sathianpantarit
>> <kengkaj.s@gmail.com> wrote:
>>     
>>> However, I think that default value is good in the case that we don't need
>>> to specify value in INSERT command.
>>> Why don't you just exclude this field in the <insert>?
>>>
>>> For <update>, I think that we should specify value explicitly in the
>>> model, error from database is correct behavior in case the field has null
>>> value (actually this is the reason why we set NOT NULL constraint).
>>>
>>> Kengkaj
>>>
>>>
>>> On Wed, Mar 18, 2009 at 3:06 PM, Alin Popa <alin.popa@gmail.com> wrote:
>>>       
>>>> Thanks Kengkaj,
>>>>
>>>> But from what I read it seems that nullValue is used to substitute
>>>> value with a database NULL.
>>>> The thing is that I'm not allowed to use null since field is "NOT NULL".
>>>>
>>>>
>>>> On Wed, Mar 18, 2009 at 6:00 AM, Kengkaj Sathianpantarit
>>>> <kengkaj.s@gmail.com> wrote:
>>>>         
>>>>> Use null value replacement feature, read user manual.
>>>>>
>>>>> Kengkaj
>>>>>
>>>>> On Tue, Mar 17, 2009 at 10:37 PM, Alin Popa <alin.popa@gmail.com>
>>>>> wrote:
>>>>>           
>>>>>> Hi,
>>>>>>
>>>>>> I have the following db table (MySQL):
>>>>>>
>>>>>> CREATE TABLE `examples`(
>>>>>>        `id` SERIAL PRIMARY KEY,
>>>>>>        `name` VARCHAR(255),
>>>>>>        `status` VARCHAR(20) NOT NULL DEFAULT 'ready',
>>>>>>        `description` TEXT
>>>>>> ) ENGINE=innodb DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_bin;
>>>>>>
>>>>>>
>>>>>> Using ibatis sql-map I'm doing this:
>>>>>>
>>>>>> <insert id="insertExample" parameterClass="com.test.Example">
>>>>>>  INSERT INTO vjobs(name, status, description) VALUES
>>>>>> (#name#,#status#,#description#)
>>>>>> </insert>
>>>>>>
>>>>>> When inserting an example object, without having "status" field set,
I
>>>>>> got Column 'status' cannot be null; but the DEFAULT is 'ready'.
>>>>>>
>>>>>> How can this be managed using ibatis ?
>>>>>> It is possible ?
>>>>>>
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> Alin
>>>>>>             
>>>>>           
>>>>
>>>> --
>>>> Best Regards,
>>>>
>>>> Alin
>>>>         
>>     
>
>
>
>   



Mime
View raw message