Spring/Mybatis/Hibernate的分别配置与整合配置(1/2 步骤)

####对应的XML配置在这里


1.Spring

概念:轻量级,开源,分层式,一站式框架

IoC/DI

AOP

Joinpoin
Pointcut
Advice
Aspect
Introduction
Target
Weaving
Proxy
execution表达式

原理:动态代理

配置(注解和xml)

bean管理,id,全路径,scope,factory-bean
IoC方式(无参构造,静态工厂,实例工厂),
DI方式(有参构造,set方法,p名称空间),注入引用,注入复杂属性

ApplicationContext.xml

常用标签mybatis怎么读:

1.扫描包
2.导入properties文件
3.创建对象
4.创建AOP

常用的注解

Commponent/Controller/Service/Respository
autowired
resource
Aspect+Component
Pointcut
around
after
...

入口:

文件名->
applicationContext->
getBean

2.星门老鹰捉小鸡Mybatis

概念:半自动ORM,轻量级,持久层,开源

原理:动态代理,关系映射

配置(Mapper接口+mapper.xmllinux系统安装)

1.Mapper接口
2.Mapper文件
3.MybatisConfig.xml
延迟加载/类型别名/环境变量连接池,Mapper关系

MybatisConfig.xml

入口:

文件名->
Reader->构建者->
sqlsessionfactory->
openSession(boolean)->
getMapper

3.hibernate

概念:全自动ORM,持久层,轻量级,开源

使用:(注解)

1.配置实体关系->映射为数据库(注解)
常用注解:
Entity
Table
@Id
@Column(length=32)
@GenericGenerator(name="proUUID",strategy="uuid")
@GeneratedValue(generator="proUUID")Id,Column,
四种:一对多多对多多对一一对一
joinColumn
joinTable
@Transient
2.hibernate.config.xml
常用标签
SessionFactory中数据库,连接池,特色配置
方言,showSQL,数据库更新方法,mapping

入口:

文件名->
各种构建者(官方有模板)->
sessionfactory->
openSession(getCurrentSession)->
各种方法

4.Spring+Mybatis+transaction

使用

1.Mapper接口
2.Mapper文件
3.MybatisConfig.xml文件(类型别名,映射关系)
4.ApplicationContext
(0)properties文件,自动扫描包
(1)数据源(jdbc)
(2)SqlSessionFactory(数据源和MybatisConfig.xml)
(3)mapper配置(扫描mapper接口所在的包)
(4)配置事务
1.transactionManager(JDBC)
2.tx:advice
3.AOP:config
(5)getBean获得sqlsessionfactory

入口:

文件名->
applicationContext->
getBean(sqlsessionfactory)->
openSession(boolean)->
getMapper

5.Spring+hibernate+transaction+C3P0

使linux重启命令

1.Entity实体加注解加关系
2.ApplicationContext
(0)properties文件,自动扫描包
(1)数据源(jdbc/或者C3P0数据源)
(2)sessionFactoty(数据源,hibernate特色配置,扫描实体包)
(3)配置事务
1.transactionManager(hibernate5)
2.tx:advice
3.aop:config

入口:

文件名->
applicationContext->
getBean(sessionfactory)->
openSession(getCurrentSession)->
各种方法