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. java--xml文件读取(DOM)

    1.表现:一“.xml”为扩展名的文件 2.存储:树形结构 3.xml解析应用: 不同应用程序之间的通信-->订票软件和支付软件 不同的平台间通信-->操作系统 不同平台间数据的共享--& ...

  2. bzoj3224Treap

    Splay版本的会补... 在学了2个小时Splay之后深感Treap的优越 特地又花了20分钟打了个Treap 至于这些平衡树的优缺点 可以用平衡方式来直观的感受到 现在平衡树们面对着这样的一个问题 ...

  3. 【LeetCode】014. Longest Common Prefix

    Write a function to find the longest common prefix string amongst an array of strings. 题解: 简单的暴力遍历解决 ...

  4. 【Caffe】Ubuntu 安装 Caffe gpu版

    安装环境:Ubuntu 16.04lts 64位, gcc5.4 gpu1050ti,cuda8.0,cudnn5.1.10 1. 安装依赖库 sudo apt-get install libprot ...

  5. 第一个 IronPython 的 ASP.NET 程序

    今天试验了在 Visual Studio 中集成使用 IronPython,记录如下. 首先,下载一个 IronPython 1.0 的 binary,解压后,将目录路径 配置到环境变量 Path 中 ...

  6. Eclipse或MyEclipse中给第三方jar包添加源码步骤

    0.目的 向web项目中添加mybatis源码. 1.项目结构如下 将mybatis的jar包添加到工程中 2.解压下载的mybatis压缩包(下载地址 https://github.com/myba ...

  7. 洛谷P4721 【模板】分治 FFT(生成函数+多项式求逆)

    传送门 我是用多项式求逆做的因为分治FFT看不懂…… upd:分治FFT的看这里 话说这个万恶的生成函数到底是什么东西…… 我们令$F(x)=\sum_{i=0}^\infty f_ix^i,G(x) ...

  8. 洛谷 4149 [IOI2011]Race——点分治

    题目:https://www.luogu.org/problemnew/show/P4149 第一道点分治! 点分治大约是每次找重心,以重心为根做一遍树形dp:然后对于该根的每个孩子,递归下去.递归之 ...

  9. TextBlock截断字符显示为....

    添加: TextTrimming="CharacterEllipsis" 到TextBlock中, 即可让TextBlock 支持截断字符显示为...

  10. 【转】 Pro Android学习笔记(四九):ActionBar(2):Action图标区

    目录(?)[-] ActionBar的隐藏和现实 ActionBar的action图标区 ActionBar的隐藏和现实 ActionBar bar = getActionBar();bar.hide ...