Mybatis解析

一、什么是Mybatis

       MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录

1:mybatis配置

configuraction配置中所具有的节点:properties, settings, typeAliases, typeHandlers, objectFactory, objectWrapperFactory, reflectorFactory, plugins, environments, databaseIdProvider, mappers

properties:属性->包含元素name,value

settings:设置-> 参数包含有cacheEnabled,lazyLoadingEnabled,aggressiveLazyLoading,multipleResultSetsEnabled,useColumnLabel,useGeneratedKeys,autoMappingBehavior,defaultExecutorType,defaultStatementTimeout,defaultFetchSize.....详情查看mybatis官网http://www.mybatis.cn/680.html

            cacheEnabled->配置的缓存参数。 lazyLoadingEnabled->延迟加载  jdbcTypeForNull->当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。等等

mappers:映射器->resource,url,class,package->name  其中在java源码中package是最高访问级别

ResultMapping:映射关系->常用子元素column,property,jdbcType,通过解析映射属性 返回到sqlsession中。

配置文件中映射过来  通过映射过来的参数进行校验  验证填写的参数是否正确

objectFactory:MyBatis框架本质是ORM工具,它能把数据库表的行记录映射成Java对象。在MyBatis框架中,一起对象的生成依靠ObjectFactory来实现,

ObjectFactory是个接口类,其默认实现类是DefaultObjectFactory。在 MyBatis 中,默认的DefaultObjectFactory要做的就是实例化查询结果对应的目标类,有两种方式可以将查询结果的值映射到对应的目标类:一种是通过目标类的默认构造方法,另外一种就是通过目标类的有参构造方法。

MyBatis允许注册自定义的ObjectFactory,只需要实现接口 org.apache.ibatis.reflection.factory.ObjectFactory即可。但是在大部分的情况下,我们都不需要自定义ObjectFactory对象工厂,只需要继承系统已经实现好的 DefaultObjectFactory ,通过一定的改写来完成我们所需要的工作。------》参考mybatis官网

 

2、mybatis注解介绍:

     注解(annotation),即元数据,就是源代码的元数据。注解在代码中添加信息,可以在后续中更方便的使用这些数据

    @CacheNamespace:为给定的命名空间(比如类)配置缓存、属性 通俗的讲就是通过注解进行数据缓存操作。

   @Property:指定属性值或占位符->属性:name,value

   @Param:如果你的映射器的方法需要多个参数,这个注解可以被应用于映射器的方法参数来给每个参数

等等 详细注解查看官网http://www.mybatis.cn/archives/678.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值