mybatis的xml中也可以通过传入标记参数然后用 choose写选择语句…
mybatis动态sql中的两个内置参数(_parameter和_databaseId)   <!-- mybatis动态sql的两个内置参数           不只是方法传递过来的参数可以被用来判断,取值       mybatis默认还有两个内置参数           _parameter:代表整个参数                                      单个参数:_parameter就是这个参数                                   …
转自:https://my.oschina.net/wtslh/blog/682704 今天偶然之间刷到了这样一篇博客,有点意外 mybatis 还可以这样使用ONGL常量的方式,该方式针对 xml的mybaits.xml 文件下的 类似include方式 可以在完全弃用mybatis.xml文件的方式更好的一种替换,示例如下: 正常我们在其他地方进行引用时,使用以下标签: 但是我在 接下来的项目中,我使用springboot + mybatisplus 时,基本上摈弃了 配置文件的方式,所以我…
场景: 页面上有搜索框进行调节查询,不同搜索框中的内容可以为空. 过程: 点击搜索,前端把参数传给后台,这是后台要把为空的参数过滤掉. 做法: 通常我们在dao层即mapper.xml中进行过滤判断操作,如下 <if test="name != null and name != ''"> and name = #{name} </if> 这时当name为空时,就会把name这个字段忽略掉,从而达到过滤作用. 问题: 当我们穿的参数为整型时,Integer或者in…
这里使用 foreach标签 <foreach  item="item" collection="listTag" index="index"  open="(" separator="," close=")"> #{item} </foreach> foreach元素的属性主要有 item,index,collection,open,separator,clos…
在新建一个maven的项目的时候,当时并非springboot项目,是通过xml来配置的项目.在项目中DispatcherServlet的配置文件中配置了annotation-driven的, <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:…
初用mybatis,发现很好的一个操作数据库的框架,里面有一些小技巧,挺简单,很实用,记录一下: mybatis的插入语句: <insert id="insertAsset" parameterType="Criteria">    <selectKey resultType="java.lang.String" keyProperty="condition.Id" order="BEFORE&qu…
mybatis在编写sql时不能在XML里直接使用‘<’ 或者是 ‘>’ 在这里需要使用转义字符替换 下面列举常用的xml转义对应: * <           <      小于号 * >          >    大于号 * &       &      和 * &apos;     '   单引号 * "     "     双引号…
这种问题在xml处理sql的程序中经常需要我们来进行特殊处理. 其实很简单,我们只需作如下替换即可避免上述的错误: < <= > >= & ' " < <= > >= & &apos; " 例如常见的时间比较: <select id="select" parameterType="xxx" resultMap="xxx"> select dis…
报错内容: java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2) 调试半天,网上查了半天都是# .$ 用法出错,一次次的对比,一个个字找,发现,用法根本没问题,突然...看到了注释中的 #{executorId},想想,也许是这个的原因呢?然后就给注释删了,结果发现就是注释的锅: 这样,mybatis仍旧会把#{}算成一个带注入的参数,二SQL认出了这个-- 的注释 -…
做个备忘: xml特殊符号转义写法 <          < >          > <>   <> &      & &apos;      ' "      " 也可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析 <![CDATA[ 这里写你的sql ]]> mysql like的写法 like concat('%',#{param},'%')  或者 like '…
内部类需要使用$符号连接,而不是点.,如 com.pingan.job.openapi.model.SMSESBResult$ReceiveResult$ResultInfo 从CSDN论坛查到的. 挺好.…
SqlMapConfig.xml配置文件的内容和配置顺序如下 ① properties(读取配置文件):定义配置,配置的属性可以在整个配置文件中其他位置进行引用: ② settings(全局配置参数):用于指定MyBatis的一些全局配置属性,这些属性非常重要,它们会改变MyBatis的运行时行为: ③ typeAliases(类型别名):用于配置多个数据源,每个数据源分为数据库源和事务的配置: ④ typeHandlers(类型处理器):定义类型处理,也就是定义java类型与数据库中的数据类型…
XML 中的特殊字符 > 和 开始标记 > 例如: 5 ]] 如何获得这些HTML内容呢? XmlDocument doc = new XmlDocument(); doc.Load("xml路径"); XmlNode Ydata = doc.SelectSingleNode("/SQL"); string StrHTML = Ydata.InnerText;…
一个简单的学习springmvc的demo中,当http请求传入中文参数时,在controller中接受到的参数就已经是乱码了,经百度一番解决方案如下: 1. get请求方式乱码解决 对于get方式,web.xml的filter配置是不起作用的,需要修改tomcat中的server.xml,将原来的 <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000" r…
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'source' in 'class java.lang.String' at org.mybatis.spring.MyBatisExceptionTranslator.translateExce…
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 95%的代码量.MyBatis 的构建就是聚焦于 SQL 的,使其远离于普通的方式. SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 配置给定命名空间的缓存. cache-ref – 从其他命名空间引用缓存配置. resultMap – 最复杂,也是最有力量的元…
public class User { private int id; private String username;// 用户姓名 private String sex;// 性别 private Date birthday;// 生日 private String address;// 地址 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsern…
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 95%的代码量.MyBatis 的构建就是聚焦于 SQL 的,使其远离于普通的方式. SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 配置给定命名空间的缓存. cache-ref – 从其他命名空间引用缓存配置. resultMap – 最复杂,也是最有力量的元…
MyBatis Mapper.xml文件中 $和#的区别   网上有很多,总之,简略的写一下,作为备忘.例子中假设参数名为 paramName,类型为 VARCHAR . 1.优先使用#{paramName,jdbcType=VARCHAR} 写法,除了可以防止sql注入以外,它还能在参数里含有单引号的时候自动转义, 而${paramName}由于是类似于拼接sql的写法,不具备此功能. 2.注意,使用 #{paramName,jdbcType=VARCHAR} 写法的时候,模糊查询的写法为:'…
在mybatis的xml配置文件中会遇到大小于号转化的问题,解决问题的方法如下: 1.用转义字符把>和<替换掉 SELECT * FROM test WHERE AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE 附:XML转义字符 < < 小于号 > > 大于号 & & 和 &apos; ’ 单引号 " " 双引号   2.<![CDATA…
SqlMapConfig.xml配置文件中的属性 1 配置内容 properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性对象) transactionManager(事务管理) dataSource(数据源) mappers(映射器) 注: sqlMapConfg.xml…
idea中 mybatis的mapper类去找对应的mapper.xml中的方法,使用插件mybatis-plugin,名字可能叫Free mybatis-plugin 安装上之后,可能需要重启idea,效果如下:…
使用这么久的Mybatis中需要转义的符号整理一下,小结一下: 1.       <         小于符号        < 2.       <=       小于等于       <= 3.      >         大于符号         > 4.      >=       大于等于        >= 5.      '            单引号           &apos; 6.     "          …
1.xml中配置: <!-- 根据条件查询满足条件的ID集合开始 --> <select id="getQuestionsIdsForExamPaper" resultType="java.lang.String" parameterType="hashmap"> select questionId from questions <where> <include refid="query_que…
处理大于小于号的方法: https://www.cnblogs.com/winner-0715/p/6132755.html 第一种方法:用转义字符把">"和"<"替换掉,就没有问题了. <if test="startTime != null "> AND order_date >= #{startTime,jdbcType=DATE} </if> <if test="endTime !=…
在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型.需要resultType指定输出结果的映射类型. 如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发. 在mybatis的开发中, 实体类对应的映射xml配置文件(比如UserMapper.xml等)里面的sql语句(比如: <select id=&quo…
IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错误,错误提示为: xml中1字节的UTF-8序列的字节1无效 The cause of this is a file that is not UTF-8 is being parsed as UTF-8. It is likely that the parser is encountering a…
mybatis的xml文件中的CDATA的使用 <!--查询列表--> <select id="queryListPage" parameterType="java.util.Map" resultType="java.util.Map"> select * from user where 1=1 <if test="startDate != null and startDate != ''"&g…
JAVA - Intellij IDEA 中去掉mybatis Mapper.xml背景色 1:现在公司中使用mybatis的频率非常高,一般都会用MBG来生成基础的代码文件.在intellij中查看mapper.xml文件的时候,发现文件会有背景色,极度影响视觉感受,还让不让人写代码了!!! 2:我们把鼠标放上去可以看到出现背景色的原因第一个是,IDE对data source的检测 第二个是,IDE对SQL Dialect的检测 3:解决方法就是不让IDE检测上述内容,把图片中所选项√去掉 打…