关于Mybatis的一点小记录

1.Mybatis的parameterType有两个比较常用的,一个是类的对象,还有一个就是Map,然后取值的方法也很简单:

基本数据类型:#{参数} 获取参数中的值

复杂数据类型:#{属性名} ,map中则是#{key}

2.这里就提一下关于#{}和${},前者是动态解析 时候,就理解成把sql里的这个位置变成 预编译的 ? ,后者就有点像字符串的赋值粘贴,就预编译前的sql语句已经不包含变量了,已经完全是常量了。

然后这里要记录的是,一个和排序有关的 sql语句:

这里我用的是MyBatis:

<select id="selectList" parameterType="java.util.Map" resultMap="EditionMap">
        SELECT te.id, te.e_edition_time, tu.u_name, te.e_notes
        FROM t_edition AS te
        LEFT JOIN
        t_user AS tu
        ON te.e_edition_setter_id = tu.id
        WHERE 1=1
        <if test="eTime != null and eTime.trim() != ‘‘">
            and e_edition_time like CONCAT(‘%‘,#{eTime,jdbcType=TIMESTAMP},‘%‘)
        </if>
        ORDER BY ${sidx} ${order}
</select>

最后的ORDER这里,一开始用的是  #{}一直不行,后面换成 $就可以了,总之以后order By 这种后面跟的是固定的字符串的就用 ${}吧,当然其他的还是用#{}好处多一点!

原文地址:https://www.cnblogs.com/wangshen31/p/8970034.html

时间: 2024-11-07 07:07:29

关于Mybatis的一点小记录的相关文章

关于qt学习的一点小记录

今日为了应付学校作业要求 决定现学qt来制作界面 毕竟c++不像在这方面c#可以那么方便 qt主要依靠信号.槽来实现类似winform中的消息 鉴于要尽快做完,故而没有细看qt 只是大概了解了下界面的制作方法 所以依然还有不少问题 好了我先从qt设计器开始了. 嗯,很好用的界面编辑器..一目了然啊~~~ 遇到的问题有: 1.槽明明在窗口类声明了,可设计器还是找不到... 解决:这个应该还需要在某些地方增加点代码,毕竟我find了一下别人demo的槽函数名字,发现出现在了好几个地方 嗯..这次时间

关于qt学习的一点小记录(2)

嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject()可以直接用 并且QDialog有exec() 这种方式显示窗口,是阻塞形的 而QWidget则只有show()要自己写阻塞 2. 窗口间通信 2.1 主窗口->子窗口 介个方法很多啦 我用的是直接传值给子窗口里的变量: 比如说: 子窗口有: class changemsg : public QDi

关于Windows服务中的一点小记录

我把 Install.bat放在了“D:\Program Files\JJESoft\M15H03”下面中,结果老是安装不了, 我把全部拷贝到 “D:\M15H03”下面,结果又可以 才发现是exe的路径中包含了一个空格 在网上搜了一下,有很多种方式, 我就这样处理Install.bat,将路径加上了引号,这样就可以了 C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe "D:\Program Files\JJESoft\M

项目笔记5:一点小记录

''' d1=[np.array([i]) for i in spot.tolist()] payoff=[] for i in range(spot.size): d2=self.Payoff(d1[i]) payoff.append(d2.tolist()[0]) return np.array(payoff) ''' return np.array([self.Payoff(np.array([i]))[0] for i in spot]) 这表达能力,太强悍了. 最后结果: [-3191

Ubuntu14.04安装mysql及过程中遇到的一点小问题

Ubuntu14.04出来有段时间了,前几天刚升级到这个版本,新鲜了一把.不过安装mysql时遇到了一点小问题,记录一下以备后用. 预备操作: 网上安装mysql的方法不少,大体有这么三种. 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例. 3. 二进制包安装:安装完成已经自动配置好环境变量

java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)

java学习中,面向对象的三大特性:封装.继承.多态 以及 super关键字和方法的重写(java 学习中的小记录) 作者:王可利(Star·星星) 封装     权限修饰符:public 公共的,private 私有的     封装的步骤:          1.使用private 修饰需要封装的成员变量.          2.提供一个公开的方法设置或者访问私有的属性              设置 通过set方法,命名格式:     set属性名();  属性的首字母要大写 访问 通过ge

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,

新闻发布的一点小总结

经过一段时间的学习,完成了新闻发布的基础功能,进行一点小总结,方便日后回顾.下面是我的一点小总结,不足之处请勿见笑... 我们想要完成一个新闻发布,首先要使其能够成功发布,并且让它能够实现添加.删除.修改.查询.上传.下载等功能.我们还调用AJAX功能查看输出为XML.JSON格式的新闻内容.为完成以上功能,我们首先要进行jdk.tomcat.eclipse的安装和配置.1.各软件的安装和配置1.1.jdk的安装和配置: 1.1.1.下载jdk:下载地址:http://www.oracle.co

【搬运工】一点小收集

1.几种基础算法. 2.数学之美. 3.贝叶斯方法. 转自互联网,链接背后都是故事,水深,都是鱼. 敬意且谨以自勉,长途漫漫,任重道远. 以上. [搬运工]一点小收集,布布扣,bubuko.com