1.mybatis的历史:
mybatis是apache的一个开源项目,2010被google收购,转移到google code.
mybatis是一个优秀的持久层框架,对jdbc操作进行了封装,是操作数据库变得简单。 2.mybatis的架构和工作原理
mybatis的原理:
通过xml或者注解配置需要执行的statement(prepareStatement,CallableStatement)
然后进行输入映射,生成需要执行的sql信心保存在MappedStatement中,通过mybatis执行后
把输出映射的结果返回。
架构:
sqlMapConfig.xml(全局配置文件)
mapper01.xml mapper02.xml ...(映射文件)
executor (执行器,本质:接口)
普通执行器 带缓存的执行器(默认) 输入映射 statement 输出映射 3.mybatis核心过程:
加载全局配置和映射文件,生成sqlSessionFactory
通过绘画工厂,生成sqlSession
sqlSession进行数据库操作,底层是有执行器executer实现的。
事物提交
sqlSession关闭 4.入门
git下载压缩包
解压了解目录
lib
核心包
帮助文档pdf
其他 创建javaee项目
创建lib文件夹
粘贴jar包
lib
核心
数据库驱动包
单元测试包
(build) 添加log4j.properties
添加配置文件
全局配置文件sqlMapConfig(头通过复制得到)
环境包括:
事物配置
dbcp数据库连接池配置
映射文件加载配置 映射文件mapper.xml(头通过复制得到) 创建model:User
创建sqlmap:User.xml
写sql语句
junit单元测试:增删改查
优化:
加入@before@after(单元测试相关) 实现增删改查 #{}:占位符
基本数据类型,#{可随便填写} pojo类
map ${}:字符拼接
基本数据类型,${value}固定格式 pojo类
map 主键自增,返回主键。 5.dao开发(不常用)
编写dao(UserDao接口),daoimpl(接口实现) 6.mapper动态代理开发
dao包不要,sqlmap包不要 创建mapper包代替上面两个,遵循规则:
(1)创建接口UserMapper,然后生命方法。创建UserMapper.xml,映射文件命名空间和接口相对路径一致
(2)方法名一致
(3)返回值类型一致
(3)参数只能有一个,保持一致。 进行单元测试(5,6相当于4的分支) 7.全局配置文件优化
(1)数据库连接池dbcp优化。创建db.properties。添加标签...???(setting标签了解)
(2)别名配置
typeAlias
package(指向model包,直接使用小写)
(3)配置加载映射
mapper
class(同包UserMapper.xml和UserMapper.java,并且名称一致);
可以使用注解开发@insert("sql语句")在接口上直接打注解
package(同包UserMapper.xml和UserMapper.java,并且名称一致) 8.映射文件
输入映射:基本数据类型,pojo(queryVo),map 输出映射:基本数据类型,pojo(list),map
(----输出映射还没复习-----)

mybatis复习01的更多相关文章

  1. Bone Collector(复习01背包)

    传送门 题目大意:01背包裸题. 复习01背包: 题目 有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总 ...

  2. mybatis 复习笔记01

    本文内容转自传智播客笔记 1. 问题总结  1). 数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接池管理数据库连 ...

  3. 03 Mybatis:01.Mybatis课程介绍及环境搭建&&02.Mybatis入门案例

    mybatis框架共四天第一天:mybatis入门 mybatis的概述 mybatis的环境搭建 mybatis入门案例 -------------------------------------- ...

  4. Mybatis 复习 Mybatis 配置 Mybatis项目结构

    pom.xml文件已经贴在了文末.该项目不使用mybatis的mybatis-generator-core,而是手写Entities类,DaoImpl类,CoreMapper类 其中,Entities ...

  5. MyBatis复习【简单配置CRUD】

    这里的案例集成了log4j的日志框架,项目架构: 用到的jar文件 添加配置文件:mybatis-config.xml  和dao层配置文件StudentDao.xml 这里书写了个简单的案例仅为了说 ...

  6. MyBatis复习

    一.对JDBC的总结 1.数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 解决方案:使用数据库连接池管理数据库连接. 2.将sql语句硬 ...

  7. mybatis 复习笔记03

    参考:http://www.mybatis.org/mybatis-3/zh/configuration.html 入门 1. 从 XML 中构建 SqlSessionFactory 每个基于 MyB ...

  8. mybatis笔记01

    目录 1. Mybatis的介绍 2. 使用JDBC编码的分析 2.1 准备 2.3 程序代码 2.4 JDBC问题 3. Mybatis架构 4. Mybatis入门程序 4.1 mybatis下载 ...

  9. MyBatis学习(01)之解决mapper绑定异常

    解决mapper绑定异常 HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.bind ...

随机推荐

  1. alt+shift+j 自动添加类的文档注释 Myeclipse

    alt+shift+j  自动添加类的文档注释 Myeclipse ctrl+shift+y 将选中的内容大写换成小写 +x是转换成大写

  2. 使用pjsip传输已经编码的视频,源码在github

    pjsip功能很强,做sip rtp语音通话库首选.在2.0之后,也支持视频.不过,它的视频功能缺省是从视频设备采集,然后进行编译,再发送出去的.假设,我们已经有了视频源,比如IP摄像机,不需要采集和 ...

  3. 点分治Day1

    树套树Day2暂且搁置...因为Day1的题我各种不会做... 唯一过了一道还是整体二分过的... 我们来一点愉快的算法,先不考虑数据结构这种骚东西了 毕竟还在发烧,就先码码这几天在搞的点分治吧 hx ...

  4. dbcc练习1

    dbcc tranceon(2588,3604) dbcc ind() dbcc page()

  5. linux命令学习(8):mv命令

    版权声明更新:2017-05-12博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...

  6. Python 二维列表

    一维列表,可以使用 * 快速创建list1=[0]*Width r = [0]*5 print r r[1]= 1 print r [0, 0, 0, 0, 0] [0, 1, 0, 0, 0] 扩展 ...

  7. PowerDesigner生成CDM模型

    一.新建概念数据模型  1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型. 2)完成概念数据模型的创建.以下图示,对当前的工作空间进行简单介绍.(以后再 ...

  8. python version 2.7 required,which was not found in

    python version 2.7 required,which was not found in 出现上面这种情况的原因我推测有两种: 1.NumPy和SciPy官方网站上只提供了32bit的文件 ...

  9. stm32与三菱PLC通信

    一.三菱PLC通讯概要   三菱PLC FX系列通信结构如下图所示: 三菱PLC FX系列的通信规格如下图所示: 三菱PLC FX系列一般有以下几种通信模块,以FX2N为例: FX2N-232-BD ...

  10. MQTT,XMPP,STOMP,AMQP,WAMP适用范围优缺点比较

    想要向服务器发送请求并获得响应?直接使用 HTTP 吧!非常简单.但是当需要通过持久的双向连接来通信时,如 WebSockets,当然你也有其它的选择. 这篇文章会简单扼要的解释 MQTT,XMPP, ...