流殃的博客

| Comments

插件

Free Mybatis plugin

主要是用于mapper和xml之间跳转

MybatisX

mybaitsplus官方提供的插件,提供了很多的功能,需要的可以自行去查看

@param

这个注解的意思就是 传递的参数,不管是实体类还是其他基本类型,如果用了这个参数,xml中# 对应的参数就要和这个参数名字一致
用了这个参数,xml中就不需要parameterType了
实体类的时候,需要注意字段的大小写

传参为实体类

不仅写了@param注解,而且对应的xml中有parameterType,就会报下面的错误,
只需要把其中一个去掉就可以了
image.png
仅仅保留parameterType的话,可以直接使用实体类中的变量名字

oracle

在使用分页的时候,如果是直接给定的值,可以使用<或者>,
但是如果你是计算之后才去比较的,,需要注意转义字符,比如原来的<= 可以换为    <![CDATA[<=]]>

大于小于号

第一种写法(1):

原符号       <        <=      >       >=       &        '        "
替换符号    &lt;    &lt;=   &gt;    &gt;=   &amp;   &apos;  &quot;
例如:sql如下:
create_date_time &gt;= #{startTime} and  create_date_time &lt;= #{endTime}

第二种写法(2):
大于等于
<![CDATA[ >= ]]>
小于等于
<![CDATA[ <= ]]>
例如:sql如下:
create_date_time <![CDATA[ >= ]]> #{startTime} and  create_date_time <![CDATA[ <= ]]> #{endTime}

like

推荐使用下面这种方式

<select id="findUserByLikeName4" parameterType="java.lang.String" resultMap="user">
select * from t_user where name like concat('%',#{name,jdbcType=VARCHAR},'%') ESCAPE '/'
</select>

避免当name 是 % 的时候,筛选的不是包含%的 数据

注意

新建mapper扫描的文件夹的时候,记得要一个一个文件夹建立,否则你直接建立的是类似于 mybatis.mapper 文件名的文件夹,而不是一个mybatis文件中有一个mapper的文件夹

报错

Invalid bound statement (not found):

  1. 在对应的target目录下查看对应的xml文件是否生成,没有的话,删除整个target,重新运行程序。也可以直接将对应的xml文件复制到target对应的位置,然后直接重启执行单元测试

参考

Comments

评论