![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis-Hibernate
梦里梦见醒不来丶
未来可期
展开
-
MyBatis动态SQL之foreach用法
首先简单说下foreach六个属性 item 每一次迭代结果 collection 循环集合成指定类型 separator 元素之间的分隔符,可选 open 开始符号,可选 close 关闭符号,可选 index list和数组的序号,可选 接着来看一下循环查询的例子 在user.xml中加入 <select id="selectUserFor原创 2017-06-05 11:05:00 · 4533 阅读 · 0 评论 -
mybatis批量插入数据
dao层:void insertUser(@Param("list") List<User> list)xml:<insert id="insertUser" parameterType="java.util.List"> insert into User_Msg( user_id, msg_id, `read`, `ty...原创 2018-07-08 09:52:02 · 421 阅读 · 0 评论 -
ibatis mybatis sql语句配置 符号不兼容 大于号 小于号
方法一、将其放入到<![CDATA[ and mm.ttime > to_date(#{startDateTime},'yyyy-mm-dd hh24:mi:ss') and mm.ttime <= to_date(#{endDateTime},'yyyy-mm-dd hh24:mi:ss') ]]> 方法二、如果是在动态语句中,则需要转换如: <if tes原创 2017-10-28 11:52:43 · 321 阅读 · 0 评论 -
ibatis中的resultClass,parameterClass,resultMap,resultType的使用与区别
parameterClass 是参数类。指定了参数的完整类名(包括包路径)。可通过别名避免每次重复书写冗长的类名resultClass 是结果类二、resultClass取值1.resultClass="Integer"//基本类型,或者是java.lang.Integer2.resultClass="com.sfbest.product.bean.ProductPicture"//Model对象3原创 2017-04-11 19:26:09 · 5928 阅读 · 0 评论 -
关于MyBatis的工作流程和与JDBC的比较与Hibernate的比较
1.从一个jdbc程序开始 1 public static void main(String[] args) { 2 Connection connection = null; 3 PreparedStatement preparedStatement = null; 4 ResultSet resultSet = nul转载 2017-06-22 18:12:37 · 996 阅读 · 0 评论 -
MyBatis和Hibernate框架比较
mybatis:入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。可以进行更为细致的SQL优化,可以减少查询字段。二级缓存机制不佳。mybatis把sql语句与java代码分离了,sql语句都写在xml文件配置,方便管理和调优Mybatis是非常流行的ORM框架,主要着力点在于 POJO 与 SQL 之原创 2017-03-22 12:00:31 · 578 阅读 · 0 评论 -
ibatis-dynamic的用法
dynamic可以去除第一个prepend=”and”中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:1.使用dynamic1.1 xmlselect * from Person表 <dynamic prepend="where"> <isNotNull property="name" prepend="and">原创 2017-04-05 19:20:28 · 464 阅读 · 0 评论 -
ibatis中isnotempty和isnotnull的区别
isNotNull 参数不为Null时返回trueisnotempty 参数既不为Null也不为空时返回trueisnotempty 比 isNotNull 多了一个非空的判断原创 2017-04-05 19:22:18 · 948 阅读 · 0 评论 -
ibatis 的语句中 isEqual、property、compareValue,prepend 都代表什么意思
isequal:作比较用相当于String 里的equal方法, property:指定比较属性的名称, compareValue:表示要比较的参数, prepend:表示追加比较条件原创 2017-04-07 16:37:22 · 17978 阅读 · 0 评论 -
Mybatis、ibatis动态SQL问题
使用JDBC一个非常普遍的问题就是动态SQL。使用参数值、参数本身和数据列都是动态SQL,通常是非常困难的。典型的解决办法就是用上一堆 的IF-ELSE条件语句和一连串的字符串连接。对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单的例子: <select id="getUserList" resultMap="user"> select *原创 2017-04-07 16:44:14 · 2129 阅读 · 1 评论 -
ibtais中的isNotNull、isEqual、isEmpty
isNotNull:判断property字段是否是nullisEmpty:判断property字段是否是null或者是否是空字符串(比上面的更好用)isEqual:相当于equals,数字用得多些,一般都是判断状态值原创 2017-04-07 17:49:29 · 902 阅读 · 0 评论 -
mybatis和ibatis的区别
这个区别不是很大,最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service里面调用dao就可以了,但是ibatis则不可以,必须要写dao的实现类,在写个什么return getSqlMapClientTemplate().queryForList()神马的,所原创 2017-05-23 11:35:56 · 681 阅读 · 0 评论 -
MyBatis的flushCache和useCache的使用
(1)当为select语句时:flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。useCache默认为true,表示会将本条语句的结果进行二级缓存。(2)当为insert、update、delete语句时:flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。useCache属性在该情况下没有。当为select语句的原创 2017-05-31 19:45:28 · 778 阅读 · 0 评论 -
mybatis动态sql中的trim标签的使用
trim标记是一个格式化的标记,可以完成set或者是where标记的功能,如下代码: 1、 select * from user <trim prefix="WHERE" prefixoverride="AND |OR"> <if test="name != null and name.length()>0"> AND name=#{name}</if> <if test="原创 2017-05-31 20:00:31 · 471 阅读 · 0 评论 -
mybatis批量更新数据
sql写法:UPDATE user_table SET user_name= CASE id WHEN 1 THEN '张三' WHEN 2 THEN '李四' WHEN 3 THEN '王二' END WHERE id IN (1,2,3)更新多个字段:UPDATE user_...原创 2019-01-29 16:25:04 · 345 阅读 · 0 评论