typeAliasesPackage的作用

mybatis和spring整合

typeAliasesPackage自动配置别名

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- 自动配置别名 -->
        <property name="typeAliasesPackage" value="com.m" />
        <!-- <property name="typeAliasesSuperType" value="com.m.entity.Book"/> -->
        <!-- mybatis mapper配置文件 -->
        <property name="mapperLocations" value="classpath:com/m/mappers/*.xml" />
</bean>

当你设置这个 ,那么在Mybatis的Mapper文件里面就可以直接写对应的类名 而不用写全路径名了

设置前:parameterMap=“com.m.City”
设置后:

设置后:
<update id="updateCity" parameterMap="City">
   update
      city
   set
   <if test="provinceId!=null">
      province_id = #{provinceId},
   </if>
   <if test="cityName!=null">
      city_name = #{cityName},
   </if>
   <if test="description!=null">
      description = #{description}
   </if>
   where
      id = #{id}
</update>
  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
public static String setTypeAliasesPackage(String typeAliasesPackage) { ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver); List<String> allResult = new ArrayList<>(); try { for (String aliasesPackage : typeAliasesPackage.split(",")) { List<String> result = new ArrayList<>(); aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN; Resource[] resources = resolver.getResources(aliasesPackage); if (resources != null && resources.length > 0) { MetadataReader metadataReader = null; for (Resource resource : resources) { if (resource.isReadable()) { metadataReader = metadataReaderFactory.getMetadataReader(resource); try { result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName()); } catch (ClassNotFoundException e) { log.debug(e.getMessage()); } } } } if (!result.isEmpty()) { HashSet<String> hashResult = new HashSet<>(result); allResult.addAll(hashResult); } } if (!allResult.isEmpty()) { typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0])); } else { throw new ServiceException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包"); } } catch (IOException e) { log.debug(e.getMessage()); } return typeAliasesPackage; } 优化这段代码
06-09
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值