可以说每个MyBatis都是以一个SqlSessionFactory实例为中心的.SqlSessionFactory实例可以通过SqlSessionFactoryBuilder来构建.一是可以通过XML配置文件的方式来构建SqlSessionFactory,二是可以通过Java API的方式来构建.但不管通过什么方式都有一个Configuration贯穿始终,各种配置正是通过Configuration实例来完成实现. 此篇文章旨在通过编码实现MyBatis3.4.1 User Guide所提到的…
可以说每个MyBatis都是以一个SqlSessionFactory实例为中心的.SqlSessionFactory实例可以通过SqlSessionFactoryBuilder来构建.一是可以通过XML配置文件的方式来构建SqlSessionFactory,二是可以通过Java API的方式来构建.但不管通过什么方式都有一个Configuration贯穿始终,各种配置正是通过Configuration实例来完成实现. 此篇文章旨在通过编码实现MyBatis3.4.1 User Guide所提到的…
1.先看一个mybatis最简单的Demo String resource = "mybatis-config.xml"; //1.流形式读取mybatis配置文件 InputStream stream = Resources.getResourceAsStream(resource); //2.通过配置文件创建SqlSessionFactory SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().buil…
学习框架一个比较好的路径阅读源码.本文介绍的SqlSessionFactory和SqlSession.可以通过了解SqlSessionFactory接口和SqlSession接口以及两个的实现类入手,去看源码了解实现过程.最好能把项目下载到本地,慢慢分析实现过程. Myabtis官网:http://www.mybatis.org/ github地址:https://github.com/mybatis/mybatis-3 MyBatis的持久化解决方案是将用户从原始的JDBC访问中解放出来,用户…
1.mybatis引入项目,只需要引入mybatis-x.x.x.jar包即可. (当然数据库驱动的引入必不可少) 2.SqlSessionFactory 由SqlSessionFactoryBuilder根据mybatis配置文件创建. SqlSessionFactory建议使用单例模式.常用的方法是openSession(),用于创建SqlSession. 3.SqlSession 有SqlSessionFactory对象的openSession()方法创建. SqlSession使用完毕之…
SqlSessionFactory SqlSessionFactory是单个数据库映射关系经过编译后的内存镜像,主要作用是创建SqlSession. InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //…
sqlsession和connection 一个sqlsession一般对应一个connection,并且mybatis默认每次获取session都会开启一个事务,且不自动提交事务.如果更新操作完成后不手动commit,则在连接断开时会将更新操作回滚,一个sqlSession(一个transaction)中可以多次commit,commit后cache和statement刷新(一般一个事务(transaction)只对应一个sqlseesion,也即一个connection,分布式一个事务可以对…
1.config.xml文件的基本配置信息 2.选择数据源 3.mybatis约定 (1)parameterType和resultType 只能传一个参数,但是我们可以传一个数组或者集合,达到传多个参数的目的 (2)输入参数:如果是(8种常用数据类型+String),是可以使用任何占位符#{xxxx}:如果是对象类型,则必须是对象的属性名#{属性名} (3)输出类型:返回到Java实体类 4.增.删.改.查 (1)mapper.xml <?xml version="1.0" en…
一.(转自:https://blog.csdn.net/majinggogogo/article/details/72123185) 映射文件是以<mapper>作为根节点,在根节点中支持9个元素,分别为insert.update.delete.select(增删改查);cache.cache-ref.resultMap.parameterMap.sql. 下文中,我们将首先对增删改进行描述,然后对查进行详细说明,最后对其他五个元素进行简单说明. (1)insert.update.delete…
一.概述 二.创建 mybatis数据源的创建过程稍微有些曲折. 1. 数据源的创建过程: 2. mybatis支持哪些数据源,也就是dataSource标签的type属性可以写哪些合法的参数? 弄清楚这些问题,对mybatis的整个解析流程就清楚了,同理可以应用于任何一个配置上的解析上. 从SqlSessionFactoryBuilder开始追溯DataSource的创建.SqlSessionFactoryBuilder中9个构造方法,其中字符流4个构造方法一一对应字节流4个构造方法,都是将m…
1.1 何为Spring Bean容器?Spring Bean容器与Spring IOC 容器有什么不同吗? 答:1)用于创建bean对象,管理bean对象的那个容器. 2)Spring IOC 容器本质上指的的就是Spring Bean容器,Spring Bean容器中最核心一个机制是IOC机制(控制反转), 所以有时候又将springbean容器称之为Spring IOC 容器. 1.2 Spring IOC 如何理解? 答:IOC 是Spring中提供一种控制反转机制,目的是将我们项目中对…
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_二   传送门 JavaWeb_(Mybatis框架)Mapper动态代理开发_三  传送门 JavaWeb_(Mybatis框架)主配置文件介绍_四    传送门 JavaWeb_(Mybatis框架)输入和输出参数_五  传送门 JavaWeb_(Mybatis框架)关联查询_六传送门 传送门…
一.Spring部分1.Spring的运行流程第一步:加载配置文件ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); ,ApplicationContext接口,它由BeanFactory接口派生而来,因而提供了BeanFactory所有的功能.配置文件中的bean的信息是被加载在HashMap中的,一个bean通常包括,id,class,property等,bean的id对应HashMap中…
MyBatis-Insert.Delete.Update的注意事项 插入/更新乱码的解决 出现插入乱码,首先要考虑数据库的编码集是不是UTF-8 如果数据库的编码无误,查看MyBatis的全局配置文件中有没有配置编码集. 下面是正确的配置方式. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config…
前言 最近开始了SpringBoot相关知识的学习,作为为目前比较流行.用的比较广的Spring框架,是每一个Java学习者及从业者都会接触到一个知识点.作为Spring框架项目,肯定少不了与数据库持久层的整合.我们在学习Java初始就被灌输SSM框架(Spring.SpringMVC.Mybatis),我们大概也只是知道Mybatis是与数据库打交道的,但这也只是名词上的理解. Mybatis具体是什么? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.My…
目前在做一个统计项目.需要多数据源整合,其中包括mysql和mongo.本节先讲mysql.durid.jpa与spring-boot的整合. 引入Durid包 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.29</version> </dependency> 配置文件 spring…
作者 : Stanley 罗昊 本人自行总结,纯手打,有疑问请在评论区留言 [转载请注明出处和署名,谢谢!] 一.java基础 1.多态有哪些体现形式? 重写.重载 2. Overriding的是什么?Overloading是什么? Overriding是重写 Overloading是重载   3. 接口与抽象类的区别?  抽象类速度比接口快: 接口是稍微有点慢的,因为它需要时间去寻找在类中实现的方法: 抽象方法可以有main方法并且我们可以运行它: 接口没有main方法,因此我们不能运行它:…
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 上一节说了Mybatis的框架搭建和简单查询,这次我们来说一说用Mybatis进行基本的增删改操作: 一. 插入一条数据 1.首先编写USER.XML(表的xml)使用insert元素,元素写在mapper中: <insert id="insertitem" parameterType="cn.qkp.po.user"> INSERT INTO user(username,b…
源码git地址:https://github.com/mybatis/mybatis-3 目标结构: mybatis是数据持久化解决方案将用户从JDBC访问中解放出来,用户只需要定义需要操作的SQL语句,无需关注底层JDBC操作,就可以以面向对象的方式来进行持久层操作,底层数据库的连接获取,数据库访问的实现,事务控制等都无须用户关心.本章学习mybatis中的常见对象SqlSessionFactory和SqlSession 一.SqlSessionFactory SqlSessionFactor…
我潇洒的灰大狼又回来啦.今天送大家的一句话是: 保持耐心,永远年轻,永远热泪盈眶. 前言 先容我哭一会儿,呜呜呜~昨晚写了一半的文章,还没保存就盖上盖子准备回家,拔下电源准备把电脑塞进书包带回家完成时,懒惰阻止了我,最终还是没带回家,于是,遭报应了,今天早上来,电脑直接就是没电关机了,开机后写的文章再也找不回来了...(不争气的mac真是对不起我前面特地写了一篇文章来夸赞mac真香啊...) Thread.sleep(5000)://crying... 回归正题,开始含泪创作了. 很多初学者在学…
这段时间上一个项目刚做完,下一个项目还没开始,趁这个时候来认真总结一下上个项目使用的ssm开发框架.由于,项目中关于使用ssm这部分的代码和配置是我们项目的整体架构师一个独立完成的,我们只负责业务部分的代码,调用他写好的后台,所以涉及到ssm具体使用的我都没参与,之前简单的做过s(struts)sh,对于ssm不是很熟悉,所以,这段时间从头到尾独立搭建一个ssm框架的web应用. 首先,spring.springmvc.mybatis所需要的jar包准备好,导入到新建web项目的lib中,然后开…
最近对Activiti做了一些深入的研究,对Activiti的流程机制有了些理解,对动态调整流程也有了一些实践方法. 现在好好总结一下,一来是对这段时间自己辛苦探索的一个记录,二来也是为后来者指指路~~~ 如下内容准备采用QA的方式写,很多问题都是当初自己极疑惑的问题,希望能为大家解惑! Q:可以动态调整流程吗? A:可以!可以动态更改流程指向,或者创建新的节点,等等... Q: 更改流程还需要注意什么? A: 必须要实现持久化!否则一旦应用重启,你的流程就犯糊涂了!譬如,你创建了一个新节点,但…
前面文章中,我们已经完成了OSGI应用中Spring.Mybatis.Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中,我们已经搭建好的工作空间如下图所示: 本篇文章中,我们只需要在com.csdn.osgi.user.web工程中添加页面及Controller即可. 首先新增一个登录界面,文件路径为在WebContent/WEB-INF/jsp/login.jsp,内容如下: <%@ page language=&qu…
作为一个企业级的Web应用,MVC框架是必不可少的.Spring MVC目前使用也比较广泛,本文就来介绍一下如何在OSGI应用中实现Spring.Mybatis.Spring MVC框架的整合,其中Spring MVC的整合比较困难,原因是Spring整合到OSGI中后,每个Bundle都拥有一个孤立的ApplicationContext,也就是说不同Bundle中实例化的Bean之间的依赖注入就存在一定的问题,前面文章中提到过,这个问题可以通过Bean的注册和引用机制解决. 而实例化Sprin…
关本文是Mybatis基础系列的第四篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(三)——动态sql mybatis基础系列(二)——基础语法.别名.输入映射.输出映射 mybatis基础系列(一)——mybatis入门 关联查询 表设计时通常需要分析表与表的关联关系.数据库级别表与表之间的业务关系. 一对一查询 员工表和部门表之间的关系分析:一个员工只能属于一个部门. 需求:查询出员工编号为7369的员工信息和部门信息. sql语句: resultType映射 看看myba…
本文用的是maven,idea15 Mabatis三剑客分别是:mybatis-generator.mybatis-plugin.mybatis-pagehelper 一.mybatis-generator 根据我们的数据库自动生成pojo.dao和xml文件  pojo里面放的是跟数据库字段一一对应的对象.dao层是接口,供service使用,xml是这个dao层接口的实现,sql语句都写在xml里 1.引入mabatis-generator pom.xml里引入配置 <plugin> &l…
事务 事务全称叫数据库事务,是数据库并发控制时的基本单位,它是一个操作集合,这些操作要么不执行,要么都执行,不可分割.例如我们的转账这个业务,就需要进行数据库事务的处理. 转账中至少会涉及到两条 SQL 语句: update Acoount set balance = balance - money where id = 'A'; update Acoount set balance = balance + money where id = 'B' 上面这两条 SQL 就可以要看成是一个事务,必…
参考来自:<深入浅出MyBatis技术原理与实践-第6章 > 1.SqlSessionFactory SqlSessionFactory是一个接口,最重要的功能是提供SqlSession. public interface SqlSessionFactory { SqlSession openSession(); SqlSession openSession(boolean autoCommit); SqlSession openSession(Connection connection);…
前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven:eclipse-maven tomcat:apache-tomcat-8.0.33 整合资料参考:http://www.iteye.com/blogs/subjects/ssm_demo 这个的配置过程比较简单,搞清楚关系就可以了. 二.maven.springmvc.mybatis 简单介绍 m…
文章大纲 一.课程介绍二.前台系统(门户系统)搭建介绍三.前台系统(门户系统)搭建实战四.js请求跨域解决五.项目源码与资料下载六.参考文章   一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工程.Svn的使用.(2)第二天:框架的整合.后台管理商品列表的实现.分页插件.(3)第三天:后台管理.商品添加.商品类目的选择.图片上传.富文本编辑器的使用.(4)第四天:商品规格的实现.(5)第五天:商城前台系统的搭建.首页商品分类的展示.Jsonp.(6)第六天:c…