Spring和MyBatis整合自动生成代码里面text类型遇到的坑

Spring和MyBatis整合自动生成代码里面text类型遇到的坑,第1张

概述Spring和MyBatis整合以后,使用自动生成代码工具生成dao和mapper配置文件,生成步骤如下(以Intelliidea为例)。

Spring和MyBatis整合以后,使用自动生成代码工具生成dao和mapper配置文件,生成步骤如下(以Intelli IDea为例)。

1.编写生成代码配置文件generatorConfig.xml。

<?xml version="1.0" enCoding="UTF-8"?><!@R_404_5099@ generatorConfiguration    PUBliC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration>  <classpathEntry location="D:\dev\maven\repository\MysqL\mysql-connector-java.1.39\mysql-connector-java-5.1.39.jar"/>  <context ID="DB2tables" defaultModelType="flat" targetRuntime="MyBatis3">    <commentGenerator>      <property name="suppressDate" value="true"/>      <!-- 是否去除自动生成的注释 true:是 : false:否 -->      <property name="suppressAllComments" value="false"/>    </commentGenerator>    <jdbcConnection driverClass="com.MysqL.jdbc.Driver"            connectionURL="jdbc:MysqL://localhost:3306/mycollege?characterEnCoding=utf-8"            userID="root"            password="root">    </jdbcConnection>    <javaTypeResolver>      <property name="forceBigDecimals" value="false"/>    </javaTypeResolver>    <!-- 生成模型的包名和位置 -->    <javaModelGenerator targetPackage="com.cx.elearnning.model"              targetProject="src/main/java">      <property name="enableSubPackages" value="true"/>      <property name="trimstrings" value="true"/>    </javaModelGenerator>    <!-- generate xml -->    <sqlMapGenerator targetPackage="/"             targetProject="src/main/resources/mapper">      <property name="enableSubPackages" value="true"/>    </sqlMapGenerator>    <!-- generate Mapper -->    <javaClIEntGenerator type="XMLMAPPER" targetPackage="com.cx.elearnning.dao"               targetProject="src/main/java">      <property name="enableSubPackages" value="true"/>    </javaClIEntGenerator>   <!--需要自动生成的表名和对应的model名-->    <table tablename="sys_user" domainObjectname="SysUser"></table>  </context></generatorConfiguration>

2.配置如下maven运行命令。

 

3.运行generatorcode即可。

问题描述

假如数据库表里面存在text或者blob字段。自动生成的数据库配置文件如下,会多出几个以withBlobs结尾的方法和resultMap:

<!--仅仅贴上不一样的部分--><resultMap extends="BaseResultMap" ID="ResultMapWithBLOBs" type="com.cx.elearnning.model.EduWebsiteProfile">  <!--   WARNING - @mbggenerated   This element is automatically generated by MyBatis Generator,do not modify.  -->  <result column="DESCIPTION" jdbcType="LONGVARCHAR" property="desciption" /> </resultMap><select ID="selectByExampleWithBLOBs" parameterType="com.cx.elearnning.model.EduWebsiteProfileExample" resultMap="ResultMapWithBLOBs">  <!--   WARNING - @mbggenerated   This element is automatically generated by MyBatis Generator,do not modify.  -->  select  <if test="distinct">   distinct  </if>  <include refID="Base_Column_List" />,<include refID="Blob_Column_List" />  from edu_website_profile  <if test="_parameter != null">   <include refID="Example_Where_Clause" />  </if>  <if test="orderByClause != null">   order by ${orderByClause}  </if> </select>

假如此时查询数据或者更新数据的使用仍然使用selectByExample或者updateByExample,得到的text或者blob数据是null。

正确做法

应该使用selectByExampleWithBLOBs或者updateByExampleWithBLOBs这两个方法。

总结

以上所述是小编给大家介绍的Spring和MyBatis整合自动生成代码里面text类型遇到的坑,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Spring和MyBatis整合自动生成代码里面text类型遇到的坑全部内容,希望文章能够帮你解决Spring和MyBatis整合自动生成代码里面text类型遇到的坑所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1268644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存