MyBatis
Marvel__Dead
这个作者很懒,什么都没留下…
展开
-
MyBatis动态sql查询
动态SQL什么是动态sql:mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。需求用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。基础类:数据库持久层类po(和数据表有映射关系):public class UserPo { private I原创 2017-04-09 18:21:57 · 3287 阅读 · 0 评论 -
Spring与MyBatis整合
Spring和MyBatis整合因为MyBatis在开发时,有两种开发方式:自己写mapper.xml,写接口,自己实现接口(原始dao开发)只用写mapper.xml和接口,通过动态代理方式实现。(通过Mapper开发)所以在这里就有两种整合方式。整合必须Jar包下载(Sping4.3.7+MyBatis3.4.2)MyBatis原始dao开发和Spring整合Spring要做的:管理My原创 2017-05-03 09:24:00 · 809 阅读 · 0 评论 -
MyBatis的一级缓存和二级缓存
mybatis缓存介绍如下图,是mybatis一级缓存和二级缓存的区别图解:一级缓存:Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获取数据将不再从数据库查询,从而提高查询效率。当一个sqlSession结束后该sqlSession中的一级缓存也就不存在了。My原创 2017-04-12 15:20:41 · 2329 阅读 · 0 评论 -
MyBatis核心配置文件中的常用标签和Mapper文件的常用标签配置
SqlMapConfig.xmlmybatis的全局配置文件SqlMapConfig.xml,配置内容如下:properties(属性)settings(全局配置参数)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境集合属性对象)environment(环境子属性对象)t原创 2017-04-05 18:56:55 · 9319 阅读 · 0 评论 -
使用MyBatis进行模糊查询时%到底写哪儿的解决办法
介绍感觉以前不会想,看了别人用才知道。。。*_*哭成泪人了。。。解决办法在我们以前写sql语句的时候,我们通常是这样写的。SELECT * FROM user WHERE username LIKE #{likeUser}我们在Java代码中我们是这样传值的:%FireLang%到现在才知道,这种写法太有耦合度了,代码写得太丑了!!*\_/*难看的脸。sql语句不能够在Java代码中出现,我们要做的原创 2017-04-14 21:46:34 · 4705 阅读 · 6 评论 -
MyBatis中#{}和${}的不同和${}的妙用
突然意识到sql语句的独特语义要和代码分离,我们就不能够在代码中写sql语句!!比如我要用${}在MyBatis的sql中拼接排序类型的时候,我就不能够在Java代码中直接写参数字符串为Order By哪儿个类型#{}和${}的基本不同我就不想说了,这里要说的是进一步对占位符和字符拼接的字面语义的领悟!!#{}和${}基本不同在这篇文章的最后有提到过占位符:占位符就是在某个地方占领一个位置,把它单独原创 2017-04-14 20:54:39 · 12061 阅读 · 4 评论 -
MyBatis入门
MyBatis从入门到最后会讲解的内容:基础知识(重点,内容量多)对原生态jdbc程序(单独使用jdbc开发)问题总结mybatis框架原理 (掌握)mybatis入门程序 用户的增、删、改、查mybatis开发dao两种方法: 原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握) mybaits的mapper接口(相当于dao接口)代理开发方法(掌握)原创 2017-04-03 22:05:31 · 2751 阅读 · 2 评论 -
探究MySQL的DML提交事务的意义和DQL是否有必要提交事务
介绍无意中搜索到的一篇博客,《我对autocommit以及select语句是否需要加事务的一点理解》,该博主非常的有探究心,感受到了博主的勤能补拙。看了下上边的博客,有点明白DML提交事务的意义,DQL是否有必要提交事务,Hibernate和MyBatis为什么DQL操作时不需要手动提交事务!!预备工作环境:MySQL数据库引擎设置为InnoDB,数据库隔离级别设置为REPEATABLE-READ。原创 2017-04-16 11:22:50 · 3569 阅读 · 5 评论 -
MyBatis整合ehcache
ehcache是什么?EhCache 是一个纯Java的进程内缓存框架,是一种广泛使用的开源Java分布式缓存,具有快速、精干等特点,是Hibernate中默认的CacheProvider。ehcache是一个分布式缓存框架。分布缓存我们系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式)不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统 开发。所以要使用分布式缓存对缓原创 2017-04-14 12:04:58 · 896 阅读 · 0 评论 -
MyBatis的Dao层开发
mybatis开发dao的方法SqlSession使用范围SqlSessionFactoryBuilder通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder。在需要创建SqlSessionFactory时候,原创 2017-04-04 21:43:29 · 1182 阅读 · 0 评论 -
MyBatis中CaChe标签的参数
Mybatis Cache参数flushInterval(刷新间隔)可以被设置为任意的正整数,而且它们代表一个合理的毫秒形式的时间段。默认情况是不设置,也就是没有刷新间隔,缓存仅仅调用语句时刷新。size(引用数目)可以被设置为任意正整数,要记住你缓存的对象数目和你运行环境的可用内存资源数目。默认值是1024。readOnly(只读)属性可以被设置为true或false。只读的缓存会给所有调用原创 2017-04-13 21:12:36 · 5643 阅读 · 0 评论 -
mybatis和hibernate本质区别和应用场景
mybatis和hibernate本质区别和应用场景Hibernatehibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。 对sql语句进行优化、修改比较困难的。应用场景: 适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。MyBatismybatis:专注是sql本身,需要程序员自己编写sql语句原创 2017-04-04 17:17:27 · 2439 阅读 · 0 评论 -
MyBatis关联查询
本篇博客用到的数据库:下载地址一对一查询需求查询订单信息,关联查询创建订单的用户信息我们这里提供两种实现方式,一种是resultType一种是resultMapresultTypesql语句确定查询的主表:订单表确定查询的关联表:用户表关联查询使用内链接?还是外链接?由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询原创 2017-04-10 22:01:38 · 821 阅读 · 0 评论 -
MyBatis延迟加载
用到的实体类:public class UserPo { private Integer id; private String username; private Date birthday; private String sex; private String address;public class Orders { private Integer原创 2017-04-11 17:28:59 · 969 阅读 · 0 评论