为什么要分层 降低程序耦合度,提高代码的扩展力,提高代码的复用性 表现层(UI层),业务逻辑层(BLL),数据访问层(持久层DAL)DAO进行CRUD 持久层框架:Mybatis,Hibernate(配置太过复杂,上升到一对多,多对一,多对多关系,配置过于复杂,效率也没有Mybatis高) JOOQ,Guzz,Spring Data,Active JDBC JDBC的不足,我们的SQL语句写在了JAVA程序内部,一旦根据业务修改时,原本写的JDBC连接数据库的SQL语句就不能用了 这就破坏了OCP原则(开闭原则),还有封装重复的代码 Mybatis本质上就是对JDBC的封装,通过Mybatis完成CRUD,负责持久层 ORM:Object(虚拟机中的Java对象),Relational(关系型数据库) Mapping(将Java虚拟机中的对象映射到数据库中的一方记录,或是将数据库表映射到Java虚拟机的一个Java对象) Mybatis框架就是一个ORM框架,将数据库表的一条记录和java对象映射起来 Hibernate框架就是一个全自动的ORM,使用Hibernate框架时不需要手动编写SQL语句,完全自动化的ORM框架 Mybatis是一个半自动的ORM,因为Mybatis框架中的SQL语句是需要手动编写的 Java中与数据库表对应的类,有不同的称呼Bean(豆子),pojo(普通java类),domain(领域模型) MyBatis的特点: 支持定制化SQL,储存过程,基本映射以及高级映射 避免了几乎所有的JDBC代码手动设置参数以及获取结果集 支持XML开发,支持注解式开发 将java的POJOS,简单普通的java对象映射成数据库中的记录 体积小好学,完全SQL解耦合,提供了基本映射标签,提供了高级映射标签 提供了XML标签,支持动态SQL编写为什么要分层 降低程序耦合度,提高代码的扩展力,提高代码的复用性 表现层(UI层),业务逻辑层(BLL),数据访问层(持久层DAL)DAO进行CRUD 持久层框架:Mybatis,Hibernate(配置太过复杂,上升到一对多,多对一,多对多关系,配置过于复杂,效率也没有Mybatis高) JOOQ,Guzz,Spring Data,Active JDBC JDBC的不足,我们的SQL语句写在了JAVA程序内部,一旦根据业务修改时,原本写的JDBC连接数据库的SQL语句就不能用了 这就破坏了OCP原则(开闭原则),还有封装重复的代码 Mybatis本质上就是对JDBC的封装,通过Mybatis完成CRUD,负责持久层 ORM:Object(虚拟机中的Java对象),Relational(关系型数据库) Mapping(将Java虚拟机中的对象映射到数据库中的一方记录,或是将数据库表映射到Java虚拟机的一个Java对象) Mybatis框架就是一个ORM框架,将数据库表的一条记录和java对象映射起来 Hibernate框架就是一个全自动的ORM,使用Hibernate框架时不需要手动编写SQL语句,完全自动化的ORM框架 Mybatis是一个半自动的ORM,因为Mybatis框架中的SQL语句是需要手动编写的 Java中与数据库表对应的类,有不同的称呼Bean(豆子),pojo(普通java类),domain(领域模型) MyBatis的特点: 支持定制化SQL,储存过程,基本映射以及高级映射 避免了几乎所有的JDBC代码手动设置参数以及获取结果集 支持XML开发,支持注解式开发 将java的POJOS,简单普通的java对象映射成数据库中的记录 体积小好学,完全SQL解耦合,提供了基本映射标签,提供了高级映射标签 提供了XML标签,支持动态SQL编写
mybatis引入依赖 spring-context,spring-jdbc,mysql驱动,德鲁伊连接池 mybatis,mybatis-spring(最重要的,mybatis提供的与Spring框架集成的依赖) mapper(dao),service,serviceImpl,pojo(bean) pojo(bean):属性私有化,提供get和set方法和toString mapper:定义接口,定义方法 mapper配置文件:在配置文件中配置命名空间,以及每一个方法对应的sqlmybatis引入依赖 spring-context,spring-jdbc,mysql驱动,德鲁伊连接池 mybatis,mybatis-spring(最重要的,mybatis提供的与Spring框架集成的依赖) mapper(dao),service,serviceImpl,pojo(bean) pojo(bean):属性私有化,提供get和set方法和toString mapper:定义接口,定义方法 mapper配置文件:在配置文件中配置命名空间,以及每一个方法对应的sql
本文讨论了分层架构在降低程序耦合、提高代码复用性中的作用,重点比较了Mybatis和Hibernate作为ORM框架的优缺点,以及Mybatis如何通过定制化SQL和Spring集成简化数据库操作。

2万+

被折叠的 条评论
为什么被折叠?



