zoukankan      html  css  js  c++  java
  • mybatis注意事项

    1. mybatis中查询语句中的resultType的对象的属性在select语句中可以没有对应。

            例如:

             SELECT
                DISTINCT f.city_name                  as cityName,
                ifnull(c.business_type,'未知业务类型')        as businessType,
                ''                                    as parentCityName,
                ''                                    as aliasName

     其中parentCityName,aliasName这两个属性在resultType的对象中存在,那么,即使我们在结果集中不用这两个属性,可以给它们赋值,此例子中给了它们空字符串。也可以不给他们赋值。

    2. mybatis中查询语句中的resultType的对象的属性类型与DB中的该属性的数据类型可以不一样。

       例如:

        SELECT
                f.no                  as number

     其中no字段在DB中的类型为int(4),  而结果对象中的number属性类型为String,这是合法的,会自动转换为String类型的。(在可以装换的情况下是可以的。但是如果字符串装换为Date类型,这个是不能转换的。)

    3. mapper.xml中的<mapper namespace="org.wlj.project.MyMapper">,是为了反射找到与之对应的java接口。

    如:

    package org.wlj.project;
    import java.io.Serializable;
    import java.util.List;
    
    public interface MyMapper
    {
        /**
         * @TODO 方法描述
         * @return
         */
        List<City> findAllCitys();
        
        /**
         * @TODO 方法描述
         * @param paramsVO
         * @return
         */
        List<Object> findUsers(Serializable paramsVO);
    }

    4. mybatis的parameterType的对象的属性都要能在mapper.xml中的语句中,可以有没有用到的属性名。但是用到的属性类型应该与DB中的相应字段类型保持一致。

     如:

                    <when test="intType == 1">
                        f.detail_stat_type = #{intType}

         其中detail_stat_type类型为int(4),  intType也应该为Integer或long类型,但是不能为String类型的。

     

  • 相关阅读:
    【SPOJ 104】Highways
    Test_Codes
    【关路灯】【MM不哭】
    省选悲剧
    【HNOI 2002】营业额统计
    博弈论 Nimm Games
    【NOI 2008】志愿者招募 Employee
    【APIO2009】ATM
    【SDOI 2009】学校食堂 Dining
    POJ 1001
  • 原文地址:https://www.cnblogs.com/wenlj/p/4431693.html
Copyright © 2011-2022 走看看