JavaEE技术复习总结(二)

JavaEE技术复习总结(二),第1张

JavaEE技术复习总结(二)

myBatis是当前主流的java持久层框架之一,是一个半自动映射框架,需要手工配置pojo、sql及映射关系。主要概念包括以下内容。

POJO对象

POJO对象是一种简单的java类型,仅包含属性及其getter setter方法,没有业务逻辑,用作数据的载体,VO(用于展现用户的数据)、DTO、Entity(用作持久化)均属这一类型。根据使用的框架,可在pojo属性可以加一些注解用于完成数据有效性验证(如:非空、数字验证、取值范围、其他使用正则表达式定义的规则)或持久化策略(主键生成策略、默认值)等。pojo作为java对象,其属性及方法应该符合java的命名规则。

mybaits主配文件

mybaits的主配文件最常用标签包括setting、environments、mapper。其中setting标签是设定mybaits运行时的行为,如:开启缓存、延迟加载等,省略时使用mybaits的默认值,如果确实要变化时,才改动这些参数;environments标签用于对环境的配置,数据源连接池等信息的配置,不可缺少;mapper标签用于指定mybatis映射文件的位置,也不能缺少。

mybaits的核心对象

SqlSession:是完成应用程序与持久层之间交互的单线程对象,封装了一组数据库 *** 作方法,主要作用是执行持久化 *** 作。该对象线程不安全,使用完需要将其关闭。
SqlSessionFactory:主要作用是创建SqlSession实例对象的,创建后常驻内存,对于一个数据库仅有一个SqlSessionFactory对象,这个对象一般使用单例模式创建。
SqlSessionFactoryBulider:根据主配文件设定的各种参数生成SqlSessionFactory复杂对象的,其本身是一个建造者模式。

mapper文件

mapper文件是mybaits的非常重要的组成部分,其中mapper元素中每一个属性都需要掌握。在mapper中select、insert、delete、update分别对应数据库的查询、增加、修改和删除(CRUD);id属性对应接口中方法名称,是方法和SQL语句的映射的关键内容。
resulttype和resultmap:执行查询语句时返回的结果,在select标签中,必须选择其中一个,resulttype无论返回一个实体还是实体的集合,类型都是全限定名的类。resultmap元素则表示更复杂的结果映射集,id是resultmap的唯一标识,可以映射多个表的查询结果,表达表中一对一(association)、一对多(collection)、多对多的关系,其中的多对多关系可以看成两个一对多的关系。
动态SQL:当需要根据条件拼接SQL语句时,比如根据条件是否成立完成条件语句的拼接。mybaits提供动态sql语句大大简化了拼接的难度。提供了if、where、trim、choose、foreach等标签供我们使用。
关系的映射:处理关系数据库中一对一(association)、一对多(collection)、多对多的关系时,可以将此种关系转换为pojo类之间的关联关系或继承关系(使用关联关系是当前主流模式)。如:一对一的关系可以对应两个表实体之间的关联关系或继承关系;一对多,可以映射为关联关系;多对多可以看成两个一对多的关系。
嵌套查询和嵌套结果:在处理数据库关系映射中,加载关联关系对象主要通过两种方式,嵌套查询和嵌套结果,前者在查询SQL中嵌入一个子查询SQL,执行多条SQL语句,语句简单;后者一个嵌套的多表查询SQL,执行一条SQL语句,语句复杂。

mybaits使用方式

单独使用mybaits的方式有三种分别是通过sqlsession直接调用mapper文件Id语句;dao层不使用动态代理和dao层使用动态代理完成,最常用是DAO采用动态代理的方式。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5672323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存