nullnull
MyBatis技术分享2012-07-05分享
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
分享流程一、MyBatis介绍
二、代码生成工具
三、demo(增删改查,多对一)
四、宠物商店
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
参考资料目录目录一、MyBatis介绍
二、主要的类层次结构
三、XML映射配置文件
四、SQL映射配置文件
五、动态SQL
六、Cache
七、整合Spring
一、 MyBatis介绍一、 MyBatis介绍
MyBatis的前身就是iBatis,iBatis本是apache的一个开源项目,2010年这个项目由apahce sofeware foundation 迁移到了google code,并且改名为MyBatis。
MyBatis是一个数据持久层(ORM)框架。
MyBatis是把实体类和sql语句之间建立了映射关系,而Hibernate在实体类和数据库之间建立了映射关系。一、MyBatis介绍一、MyBatis介绍 二、主要的类层次结构二、主要的类层次结构总体来说 MyBatis 主要完成两件事情
根据 JDBC 规范建立与数据库的连接;
通过Annotaion/XML+JAVA反射技术,实现 Java 对象与关系数据库之间相互转化。
MyBatis 是一种典型的交互式框架
准备交互的必要条件;
构建一个交互的环境;
构建会话环境;
交换数据。二、主要的类层次结构二、主要的类层次结构三、XML映射配置文件三、XML映射配置文件 系统的核心设置,包含数据源和事务管理器等设置和属性信息,XML文档结构如下:
configuration 配置
properties 可以配置在Java 属性配置文件中
settings 修改 MyBat is 在运行时的行为方式
typeAliases 为 Java 类型命名一个短的名字
typeHandlers 类型处理器
objectFactory 对象工厂
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
mappers 映射器
三、XML映射配置文件三、XML映射配置文件相关映射文件
// Using url fully qualified paths
四、SQL映射配置文件四、SQL映射配置文件 SQL 映射文件结构:
cache - 配置给定命名空间的缓存。
cache-ref – 从其他命名空间引用缓存配置。
resultMap – 最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象。
parameterMap – 已经被废弃了!老式风格的参数映射。内联参数是首选,这个元素可能在将来被移除。这里不会
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
。
sql – 可以重用的 SQL 块,也可以被其他语句引用。
insert – 映射插入语句
update – 映射更新语句
delete – 映射删除语句
select – 映射查询语句四、SQL映射配置文件四、SQL映射配置文件Select
第一种使用完全限定名调用映射语句
Blog blog = (Blog) session.selectOne(
"org.mybatis.example.BlogMapper.selectBlog", 101);
第二种采用映射接口调用映射语句
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);命名空间四、SQL映射配置文件四、SQL映射配置文件Insert
如果 Author
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
已经对 id 使用了自动生成的列类型
insert into Author (username,password,email,bio)
values (#{username},#{password},#{email},#{bio})
如果Author表主键生成策略采用OID、Sequence
select nextval FOR AUTHOR_SEQ from SYSIBM.SYSDUMMY1
insert into Author (id, username, password, email,bio, favourite_section)
values
(#{id}, #{username}, #{password}, #{email}, #{bio},
#{favouriteSection,jdbcType=VARCHAR} )
四、SQL映射配置文件四、SQL映射配置文件Update
delete from Author where id = #{id}
四、SQL映射配置文件四、SQL映射配置文件一对多关系
Example:http://mybatis.co.uk/index.php/2010/10/mybatis-one-to-many-mapping.html
五、动态SQL五、动态SQLMyBatis 的一个强大的特性之一通常是它的动态 SQL 能力
if
choose(when,otherwise)
trim(where,set)
foreach五、动态SQL五、动态SQLIf
五、动态SQL五、动态SQLwhere
六、Cache六、Cache缓存技术是一种“以空间换时间”的设计理念,利用内存空间资源来提高数据检索速度的有效手段之一。
MyBatis默认情况下是没有开启缓存的,除了局部的 session 缓存。要开启二级缓存,你需要在你的 SQL映射文件中添加一行:
六、Cache六、Cache例如:
这个配置创建了一个 FIFO 缓存,并每隔 60 秒刷新,存取512 个结果对象或列表的引用,而且返回的对象为只读,因此在不同线程中的调用者之间修改它们会导致冲突。
六、Cache六、Cache六、Cache六、Cache可用的收回策略
LRU – 最近最少使用的:移除最长时间不被使用的对象;
FIFO – 先进先出:按对象进入缓存的顺序来移除它;
SOFT – 软引用:移除基于垃圾回收器状态和软引用
规则
编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf
的对象;
WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象;
默认的是 LRU。
六、Cache六、Cache自定义Cache
Ehcache
...
OSCache
...
六、Cache六、CacheMemcachedCache
...
项目网址:http://www.mybatis.org/caches/memcached/index.html七、整合Spring七、整合Spring整合Spring核心类设计七、整合Spring七、整合Spring配置文件
假设类 UserMapperImpl是 SqlSessionDaoSupport的子类,它可以在 Spring 中进行如下的配置:
七、整合Spring七、整合Spring配置文件
八、mybatis代码生成工具八、mybatis代码生成工具配置文件驱动的代码生成工具
如何连接数据库
生成哪些对象,如何生成
哪些表要用来生成对象
使用Eclipse插件简化操作
安装url:http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/
生成的对象
Module 数据库的对象POJO(没有实现Serializable接口,如使用缓存需要添加)
Example 用于拼动态sql的帮助类
XXXMapper.xml 映射文件(包括自动生成的动态sql部分)
XXXMapper.java 与映射文件对应的DAO接口九、mybatis分库插件九、mybatis分库插件作为mybatis的插件
实现自己的分库策略
注意事项
项目地址:http://code.google.com/p/shardbatis/wiki/UserGuide2x总结总结
MyBatis 就是将上面这几行代码分解包装:
前两行是对数据库的数据源的管理包括事务管理,
3、4 两行MyBatis通过配置文件来管理 SQL 以及输入参数的映射,
6、7、8 行MyBatis获取返回结果到 Java 对象的映射,也是通过配置文件管理。 参考资料参考资料官方主页: http://www.mybatis.org/
WIKI: http://code.google.com/p/mybatis/wiki/Welcome?tm=6
下载官方资源: http://code.google.com/p/mybatis/wiki/Welcome?tm=6
nullThanks!