MyBatis归纳】的更多相关文章

  SqlSessionTemplate详解 SqlSessionTemplate类是MyBatis-Spring的核心.这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常. SqlSessionTemplate类实现了SqlSession接口,它管理session的生命周期,包含必要的关闭,提交或回滚操作. 特别注意,SqlSessionTemplate类是线程安全的,可以被多个Dao所共享使用,而SqlSession是线程不安全的,不能被共享.因此S…
1.删除数据(假删除)并修改时间 <!--根据id删除学生信息(多条)--> <update id="updateStuStatus" parameterType="map"> UPDATE student_t SET status = 0, modifiy_time = #{modifiyTime,jdbcType=TIMESTAMP} WHERE _id in( <foreach collection="list"…
1.单独使用MyBatis 单独使用MyBatis,不结合其他框架,主要步骤是: 1.创建SqlSessionFactory对象 创建方法是通过SqlSessionFactoryBuilder这个类从mybatis的XML配置文件,或者porperties,或者URL获取相关数据库的配置信息. 2.从sqlSessionFactory获取SqlSession. 3.使用SqlSession提供的API,对数据库进行增删改查,以及事务管理. String resource = "org/mybat…
之前发了一篇mybatis的crud入门笔记,算是入门了,为了让功力加深一级,来研究下mybatis的理论知识,哈哈,以后好拿来跟技术经理吹吹牛- 按照问题来吧!个人觉得有自主意识,带着自己的问题来研究东西是最开心和高效的:   问题1:mybatis是什么? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索. MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和…
前言: 本篇文章对我的学习内容做一个归纳梳理,同时也记录一些学习过程中遇上的问题及注意事项等等,可以帮助新入门的朋友们消除一些误区与盲区,希望能帮上一些正在学习的朋友们.在编写时会引用一些mybatis开发手册中的内容.本篇中所采用的一些组件版本如下:mybatis-3.4.2.junit-4.12.mysql-connector-5.0.7. ps:吐槽一下开发手册,一些地方写的有点不太清楚,中文版还有一股机翻的味道...如果觉得写的好就点个赞呗,如果觉得写的不好就提提建议吧!_(:з」∠)_…
前言: 分析了很多方面的mybatis的源码以及与spring结合的源码,但是难免出现错综的现象,为了使源码陶冶更为有序化.清晰化,特作此随笔归纳下分析过的内容.博主也为mybatis官方提供过pull request,并被采纳. 名词解释 service层关联:指的是业务层调用数据持久层即dao层的接口,其需要class的配合 注解模式加载:指的是插件通过解析class类中方法上的注解来完成注册dao层接口的组装,比如@select/@update等注解 mapper配置文件加载:指的是直接读…
由于我之前是写在wizNote上的,迁移过来比较浪费时间,所以,这里我直接贴个图片,PDF文件我上传到百度云盘了,需要的可直接下载. 地址:https://pan.baidu.com/s/12ZJmw3qSfQeW2jEFXsDq_A 本文从源代码的层面,深入分析并总结归纳了Spring+mybatis的集成原理.希望对由需要的同学有点点用. 学习和分析过程中,难免出现错误,还请指出,谢谢!…
 直接上干货:  报错归纳1: DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter. 原因:xml里面不能有java方不存在的类,它是会去找的,找不到就报错,所以,万一删掉java类了,xml里面的相对应映射的字段也要注释掉.遇到两次了!浪费不少时间! 2.MyBatis     他要加空构造   实例化对象 原因:MyBitis ,他实体类pojo …
转自http://blog.csdn.net/qq_29227939/article/details/52029065 public class MybatisUtil { private static SqlSessionFactory factory; // 解决资源争抢问题. private static ThreadLocal<SqlSession> localSessions = new ThreadLocal<SqlSession>(); static { Reader…
Spring Data JPA 与 MyBatis对比 Spring Data JPA是Spring Data的子模块.使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易.Spring Data JPA的目标是大大简化数据访问层代码的编码.作为使用者,我们只需要编写自己的repository接口,接口中包含一些个性化的查询方法,Spring Data JPA将自动实现查询方法.JPA默认使用hibernate作为ORM实现,所以,一般使用Spring D…
映射器是MyBatis最强大的工具,也是我们使用MyBatis时用得最多的工具,因此熟练掌握它十分必要.MyBatis是针对映射器构造的SQL构建的轻量级框架,并且通过配置生成对应的JavaBean返回给调用者,而这些配置主要便是映射器,在MyBatis中你可以根据情况定义动态SQL来满足不同场景的需要,它比其他框架灵活得多.MyBatis还支持自动绑定JavaBean,我们只要让SQL返回的字段名和JavaBean的属性名保持一致即可(获赠采用驼峰式命名),便可以省掉这些繁琐的映射配置. 今天…
主题 因为对MyBatis在JDBC数据和Java对象之间数据转化比较感兴趣,所以就记录并学习一下TypeHandler. 使用场景 如上图所示,观察下接口方法就能明白.TypeHandler主要用于JDBC数据与Java对象数据之间转化,比如更新数据库的时候可以设置java对象里的字段怎么映射到JDBC数据库支持的类型.或者查询数据的时候,返回的JDBC的数据怎么转化成Java对象中的属性. 这篇文章主要以一个select查询为例,学习下TypeHandler都被应用在了哪些阶段? 怎么被使用…
前言 如果说有什么框架是Java程序员必然会学习.使用到的,那么Spring肯定是其中之一.本篇博客,将根据博主在日常工作中对Spring的使用做一个系统的归纳小结. Spring的一些概念和思想 Spring的核心:AOP.IOC. 简单点说,就是把对象交给Spring进行管理,通过面向切面编程来实现一些"模板式"的操作,使得程序员解放出来,可以更加关注业务实现. Spring已经是一站式的开源框架解决方案,而且形成了Spring生态. 关于IOC IOC,从操作上来看,要么通过XM…
八月在即,马上就是"金九银十",又是跳槽招聘季.咱们这行公认涨薪不如跳槽加的快.但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能. 苏先生在这里给大家整理了一套各大互联网公司面试都喜欢问的一些问题或者一些出场率很高的Java研发面试题,给在校招或者社招路上的你一臂之力. 目录 Spring Netty MySQL JVM Tomcat Mybatis Redis Kafka 读者福利 一. Spring 1.什么是 Spring 框架?Spring 框架有哪些主要模块? Sp…
今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况. 第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型) 如果select的结果为空,则dao接口返回结果为null 第二种,resultType为基本类型,如int 后台报异…
用Mybatis代码生成工具会产生很多个XXXExample类,这些类的作用是什么? 查阅了很多资料,在这里总结归纳一下 简介XXXExample类用于构造复杂的筛选条件 它包含一个名为Criteria的内部静态类,它包含将在where子句中一起结合的条件列表. Criteria类的集合允许您生成几乎无限类型的where子句. 可以使用createCriteria方法或or方法创建Criteria对象. 当使用createCriteria方法创建第一个Criteria对象时,它会自动添加到Cri…
J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面并不仅仅是web,可以看到很多其中的规范都是通用的,目的是为了高效开发出健壮的服务企业业务模式的应用系统.J2EE中也是可以没有web界面的应用,而现在面向大众用户开发的网站往往也会使用到很多的J2EE的技术,所以J2EE和web开发的概念都是融合在了一起了. 我本人在JAVA开发刚入行的时候,也是…
今天学习了Mybatis入门,将知识归纳一下: 创建一个java项目之后,想使用myBatis需要完成一下几个步骤: 1.先导jar包 2.写model文件 () 3.写全局配置文件 SqlMapConfig.xml,配置数据源和事务管理器 SqlMapConfig.xml(文件头可以从mybatis-3.2.7.pdf文档的2.1.2小节中拷贝) 头文件: <?xml version="1.0" encoding="UTF-8" ?><!DOCT…
MyBatis 核心技术与面试 34 讲 职业生涯中常被问到: 如何成为某方面的高手? 如何快速搞定某项技术? 我现在的水平处于什么阶段? -- 我暗暗想,我们从小学到中学到大学,经历了大考三六九.小考天天有的无数磨练,难道毕业后我们就失去了学习的能力?一个个框架无非就是一门门学科,只要勤练习,多归纳,没有多少技术难题搞不定.对工作而言或者想要通过面试拿到心仪的 Offer,经验的归纳也必不可少,本篇专栏就是对 MyBatis 框架使用经验的总结归纳. 至于所处技术水平的问题,其实每个公司和个人…
1.Mybatis是什么? 百度百科一手 提取一下重点: MyBatis 本是apache的一个开源项目iBatis.即:mybatis的原名为:ibatis 2010年迁移到google code,并且改名:mybatis 2013年11月迁移到Github,即:现在在github中也可以找到这个玩意儿 是一个基于 Java持久层 的框架 这里提到java持久层框架,那就不得不又要扯一下另外的东西了:java框架怎么一步一步引入的? (1).先来看一下开发模式的演进 看到上图,java中持久层…
1.简单认识通用mapper 1.1.了解mapper 作用:就是为了帮助我们自动的生成sql语句 [ ps:MyBatis需要编写xxxMapper.xml,而逆向工程是根据entity实体类来进行生成的,有时由于业务需要,会让实体类与数据库字段名不对应,所以逆向工程生成的xxxMapper.xml配置就会有问题.其实:通用Mapper和JPA很像 ] 通用mapper是MyBatis的一个插件,是pageHelper的同一个作者进行开发的 作者gitee地址:https://gitee.co…
文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) 先看下项目的整体层次结构及说明,本次是用的web3.0,所以需要tomcat8及以上才能运行 再看下用到了哪些jar包,jar包可以说是最精简的了,采用的maven管理 测试:请求地址时,会增加一条数据到数据库,然后读出所有数据,仅供演示,就没再分开了. 我提供了两种方式,一种是返回结果并展示到js…
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为:…
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓存. 1.开启mybatis的二级缓存 在核心配置文件SqlMapConfig.xml中加入 <settings> <!-- 开启二级缓存 --> <setting name="cacheEnabled" value="true"/>…
本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注明出处. 4.本文涉及源码和jar包下载地址: 一.导包 需要准备的包: 1.spring包 2.springmvc 包 3.mybatis 包 请自行下载导入,也可以去本人分享的网盘下载.…
在之前的文章中讲述过数据库主从同步和通过注解来为部分方法切换数据源实现读写分离 注解实现读写分离: http://www.cnblogs.com/xiaochangwei/p/4961807.html mysql主从同步: http://www.cnblogs.com/xiaochangwei/p/4824355.html 如果项目所有读操作和写操作操作不同的数据库,完全读写分离,那么可以简单的通过mybaits的plugins来实现 读写分离的实现数据源切换部分,完全依靠 org.spring…
对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: public static void main(String[] args) throws Exception { Connection con = null;// 创建一个数据库连接 PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement ResultSet result = null;// 创建一个结果集对象 try { Class.…
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <…
源码学习的好处不用多说,Mybatis源码量少.逻辑简单,将写个系列文章来学习. SqlSession Mybatis的使用入口位于org.apache.ibatis.session包中的SqlSession,发现它是个接口,必然有个默认实现类org.apache.ibatis.session.defaults包中的DefaultSqlSession.我们从来没有new过这个类,按照Java惯例使用SqlSessionFactory里的工厂方法.发现它也是个接口,必然有默认实现类DefaultS…
本文转载: http://www.cnblogs.com/hellokitty1/p/5216025.html#3591383 本人文笔不行,根据上面博客内容引导,自己整理了一些东西 首先给大家推荐几个网页: http://blog.csdn.net/isea533/article/category/2092001    没事看看 - MyBatis工具:www.mybatis.tk http://www.mybatis.org/mybatis-3/zh/getting-started.html…