1.1.mybatis的优缺点:
优点:
(1)sql写在xml文件中,便于统一管理和优化,解除sql和程序代码的耦合。
(2)提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建
(3)提供xml标签,支持编写动态sql。
缺点:
(1)工作量较大,特别是在表的字段多,关联表多的情况下
(2)sql语句的编写依赖于数据库,移植性差。
(3)不支持级联删除,级联更新,需要自己对表进行删除。
2.spring的优点:
(1)通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。
(2)通过Spring的AOP特性,很容易实现事务,日志,权限的控制。
(3)提供了对其他优秀开源框架的集成支持。
(4)低侵入式。
3.SpringMVC的优点
(1)springMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,是的我们开发更简洁。
(2)与Spring无缝衔接。
(3)灵活的数据验证,格式化,数据绑定机制。
2.一对多关联:这种关联形式最为常见,一般是两张表具有主从关系,并且以主表的主键关联从表的外键来实现这种关联关系。 另外,以从表的角度来看,它们是具有多对一关系的,所以不再赘述多对一关联了。
多对多关联:这种关联关系比较复杂,如果两张表具有多对多的关系,那么它们之间需要有一张中间表来作为衔接,以实现这种关联关系。 这个中间表要设计两列,分别存储那两张表的主键。 因此,这两张表中的任何一方,都与中间表形成了一对多关系,从而在这个中间表上建立起了多对多关系。
自关联:自关联就是一张表自己与自己相关联,为了避免表名的冲突,需要在关联时通过别名将它们当做两张表来看待。 一般在表中数据具有层级(树状)时,可以采用自关联一次性查询出多层级的数据。
3. 1. 设置返回值类型 resultType="java.util.Map",SQL结果装入Map集合
2. 不需要写映射关系和实体类的表关联属性值,对象的属性关系正常写
3. dao层返回值List<Map<String,Object>>
4. 每一行条目对应一个Map: