-
MyBatis是一个基于Java的持久层框架(半自动),主要包括SQL Maps和Data Access Objects(DAO)
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个
SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。 -
mybatis与hibernate的区别
两者均为ORM框架,但也有一些不同
mybatis hibernate
轻量级 重量级
半自动化 全自动化
sql hql(但也可以使用sql,但违背了hibernate的初衷)
扩展性、迁移性比较差 无缝移值 -
ssm与ssh开发对比
ssh2 ssm
action controller
biz/service biz/service
dao mapper
IXxxDAO.java(接口) XxxMapper.java(接口)
XxxDAOImpl.java(实现类) XxxMapper.xml
entity model
Xxx.java Xxx.java
Xxx.hbm.xml -
Mybatis和Spring集成开发
注解式开发
@Repository:将DAO类声明为Bean
@Service:通常作用在业务层
@Constroller:通常作用在控制层,将在Spring MVC中使用
@Component:是一个泛化的概念,仅仅表示spring中的一个组件(Bean),可以作用在任何层次
@Scope:模式声明(singleton|prototype)
@Autowired:将自动在代码上下文找与其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方
@Resource:
1)@Resource后面没有任何内容,默认通过name属性去匹配bean,找不到再按type去匹配
2)指定了name或者type则根据指定的类型去匹配bean
3)指定了name和type则根据指定的name和type去匹配bean,任何一个不匹配都将报错问题:@Autowired和@Resource两个注解的区别:
1)@Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配
2)@Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了
Spring属于第三方的,J2EE是Java自己的东西,因此,建议使用@Resource注解,以减少代码和Spring之间的耦合。@Transactional
注:个人感觉注解式事务比以前的声明式事务更加麻烦,要写的东西更多
mybatis
最新推荐文章于 2024-08-12 16:47:32 发布