zoukankan      html  css  js  c++  java
  • MyBais中xxMap.xml中的知识点

    添加新的mapper的时候下面两个标红的地方要注意,如果统一约定好命名的话都还好,但是就怕一会这样一会那样的业务代码;
    总之小心!
    <!-- spring与mybatis整合配置,扫描所有dao,指定的映射器类是接口,接口方法可以用注解来指定 SQL 语句,但是 MyBatis 的映射器 XML 文件也可以用。 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
    p:basePackage="com.cloudwalk.shark.mapper"
    p:sqlSessionFactoryBeanName="sqlSessionFactory"/>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:/spring/mybatis.xml"/>

    <property name="typeAliasesPackage" value="com.cloudwalk.shark.model"/>

    <property name="mapperLocations" value="classpath*:mapper/*.xml"/>
    <property name="plugins">
    <array>
    <bean class="com.github.pagehelper.PageHelper">
    <property name="properties">
    <!--使用下面的方式配置参数,一行配置一个 -->
    <value>
    dialect=mysql
    </value>
    </property>
    </bean>
    </array>
    </property>
    </bean>


    <resultMap id="advertResult" type="cn.bankbrain.advert.inter.service.advert.result.AdvertResult">

    <id property="id" column="ID" jdbcType="VARCHAR"></id>
    <result property="commercialId" column="COMMERCIAL_ID" jdbcType="VARCHAR"></result>
    <result property="planName" column="PLAN_NAME" jdbcType="VARCHAR"></result>
    <result property="startDate" column="START_DATE" jdbcType="VARCHAR"></result>
    <result property="endDate" column="END_DATE" jdbcType="VARCHAR"></result>
    <result property="version" column="VERSION" jdbcType="VARCHAR"></result>
    <result property="adStatus" column="AD_STATUS" jdbcType="VARCHAR"></result>
    <result property="adType" column="AD_TYPE" jdbcType="VARCHAR"></result>
    <result property="merchantName" column="MERCHANT_NAME" jdbcType="VARCHAR"></result>
    <result property="isForver" column="IS_FORVER" jdbcType="VARCHAR"></result>
    <collection property="advertFileList" ofType="cn.bankbrain.advert.inter.service.advert.result.AdvertFileResult">
    <result property="filePath" column="FILE_PATH" jdbcType="VARCHAR"/>
    <result property="fileName" column="FILE_NAME" jdbcType="VARCHAR"/>
    </collection>
    </resultMap>

    <sql id="querySql">a.id,a.plan_name ,a.version,
    a.start_date ,a.end_date , a.ad_status ,
    m.merchant_name ,a.commercial_id,f.file_path,f.file_name,
    case when a.start_date is null or a.end_date is null
    then 1 else 0 end as is_forver
    </sql>

    <!--查询条件集-->
    <sql id="condition_list">
    where 1=1
    <if test="id != null">AND a.ID = #{id}</if>
    <if test="merchantName != null">AND m.MERCHANT_NAME = #{merchantName}</if>
    </sql>

    <select id="findAdvertByMap" parameterType="java.util.Map" resultMap="advertResult">
    select <include refid="querySql"></include>
    from cw_pay_advert a join CW_PAY_COMMERCIAL_TENANT m on
    a.commercial_id = m.id
    left join cw_pay_advert_file f on a.id = f.advert_id
    <include refid="condition_list"></include>
    </select>
  • 相关阅读:
    测试websocket
    goreplay-测试app的真实流量
    apache -ab
    微信公众平台开发(69)百度地图导航
    微信公众平台开发(70)经济指标财经大事
    微信公众平台开发(68)苹果IMEI查询
    微信公众平台开发(67)百度百科
    微信公众平台开发(66)人品计算
    微信公众平台开发(65) 微博树洞
    微信公众平台开发(64)航班动态
  • 原文地址:https://www.cnblogs.com/longxok/p/10867748.html
Copyright © 2011-2022 走看看