SSM MyBatis总结

1 篇文章 0 订阅

最近在学SSM框架,刚刚学完了MyBatis框架,简单总结一下以供复习参考

        1:什么是mybatis?

            mybatis是一个支持普通sql查询,存储过程以及高级映射的持久层框架。

         2:mybatis的优点?

             具有高度的灵活性,可优化性和易于维护等特点

        3:mybatis主要涉及两个核心对象,SqlSessionFactory和SqlSession

            SqlSessionFactory是mybatis 框架中十分重要的对象,它是单个是句酷映射关系经过编译后的内存镜像,起作用主要是用               来创建SqlSession.通常一个数据库对应一个SqlSessionFactory,所以在创建时建议使用单例模式。

            SqlSession是mybatis框架中另外一个重要的对象,它是应用程序与持久层进行交互操作的一个单线程对象,其主要作用是             进行持久化操作。

      4:常用配置文件元素

            Properties(通过外部配置文件来定义属性,还可以通过配置<properties>以及通过方法参数传递的方式来获取属性值).

           Settings

           typeAliase 设置别名

           Mapper用于指定 mybatis的映射文件

      5:常用映射文件的主要元素

             <select>

             keyProperty作用是将插入或更新操作的返回值赋值给实体类的某个属性,通常会设置联合主键,可以在多个值之间用逗号              隔开。SqlSessionFactory

             UseGeneratedKeys会使mybatis使用jdbc的getGeneratedKeys()方法来获取数据库内部产生的主键。(仅对insert和update              有效)

             KeyColumn用于设置第几列是主键,当需要联合主键时,值可以用逗号隔开

            <insert><update><delete><sql><resultMap> 

     6:mybatis中动态SQL的主要元素

            <If> 判断语句,用于单条件分支判断

            <choose>(<when><otherwise>)相当于Java中的switch..case..default语句,用于多条件分支判断

            <when><trim><set>辅助元素,用于处理一些sql拼装,特殊字符问题

            <foreach>循环语句,常用于in语句等列举条件中

            Item:配置的时循环中当前的元素

            Index:配置的时当前元素在集合的位置

            Collection:配置的list是传递过来的参数类型

            open和close:配置的是以什么符号将这些集合类型的属性名等

            Separator:各个元素之间的间隔符

            <bind>从OGNL表达式中创建一个变量,并将其绑定到上下文,通常用于模糊查询的SQL中

     7:mybatis的关联映射

          通过数据库中的表进行描述:

          一对一:在任意一方引入对方主键作为外键

          一对多:在”多“的一方,添加”一“的一方主键作为外键

          多对多:产生种间关系表,引入两张表的主键作为外键,两个成为联合主键或使用新的字段作为主键

          通过对象描述:

          一对一:class A{B b} classB{A a}

          一对多:class A{List<B> b} classB{A a}

          多对多:class A{List<B> b} classB{List<A> a}

 

         Propert:指定映射到的实体类对象属性,与表字段一一对应。

         Column:指定表中对应的字段

         javaType:指定映射到实体队形属性的类型

         Select:指定一如嵌套查询的子sql语句,该属性用于关联映射的嵌套查询

          fetchType:指定在关联查询时是否启用延迟加载,fetchType 属性有lazy 和eager 两个属性值,默认值为lazy(默认关联映射延           时加载)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值