002医疗项目-主工程模块yycgproject三层构建(三大框架的整合)
2016-10-13 23:20
519 查看
先给出项目结构图:
Log4j.properties—》日志配置文件
Db.properties----》连接数据库
配置连接数据库的参数
Mybatis/SqlMapConfig.xml---》 mybatis的核心配置文件
Mybatis配置项
Spring/applicationContext.xml -àspring的核心配置文件
配置公用的内容:数据源、事务管理
Spring/applicationContext- base-dao.xml à配置dao
配置SqlSessionFactory,dao(mapper)
Spring/applicationContext-base-service.xml -à配置service
配置业务接口
Spring/Springmvc.xml---》配置springmvc
处理器映射器
处理器适配器
视图解析器
拦截器
一:我们先整合Dao和Spring框架:
达到目标:将spring和mybatis整合,将spring管理dao接口。
让spring对SqlSessionFactory管理,再由SqlSessionFactory自动生成sqlSession,SqlSession就是dao接口中要用的。
整合方式1(传统的Dao方式)
程序员创建dao接口及dao接口的实现类,
Dao接口实现类继承SqlSessionDaoSupport
在spring容器中配置dao接口,并将SqlSessionFactory注入到dao接口实现中,
在dao接口方法中调用this.getSqlSession()获取SqlSession。
举例:
接口实现类继承SqlSessionDaoSupport
使用此种方法需要编写mapper接口,mapper接口实现类、mapper.xml文件
1、 在sqlMapConfig.xml中配置mapper.xml的位置
<mappers>
<mapper resource="mapper.xml文件的地址" />
<mapper resource="mapper.xml文件的地址" />
</mappers>
2、 定义mapper接口
3、 实现类集成SqlSessionDaoSupport
mapper方法中可以this.getSqlSession()进行数据增删改查。
4、 spring 配置
<!-- SessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 整合mybatis,包扫描 mapper文件 -->
<property name="configLocation" value="classpath:/mybatis/sqlMapConfig.xml"/>
</bean>
<bean id=" " class="mapper接口的实现">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
整合方式2用Mapper动态代理的方法:
程序员只需要编写mapper接口(相当于dao接口),不需要编写 mapper接口的实现类,mybatis提供根据mapper接口和mapper.xml(映射文件)生成mapper接口动态代理对象(mapper接口的实现)。
具备什么规则生成mapper代理对象:
Mapper.xml中的namespace等于mapper接口的地址。
Mapper.xml中定义的sql的id(mapped statement的id)等于mapper.java中方法名
Mapper.xml中定义的statement的parametertype等于mapper.java中方法的形参类型。
Mapper.xml中定义的statement的resultType等于mapper.java中方法的返回值类型。
开发两个文件:mapper.java和mapper.xml
l 方式1:使用MapperFactoryBean
第一步:
编写mapper.xml:
<!-- SysuserMapperCustom就是mapper接口 -->
<mapper namespace="yycg.base.dao.mapper.SysuserMapperCustom">
<!-- 根据id查询用户信息 -->
<select id="findSysuserById" parameterType="string"
resultType="yycg.base.pojo.po.Sysuser">
select * from sysuser where id = #{id}
</select>
</mapper>
第二步:
编写mapper.java,
然后在spring容器中进行配置mapper:
使用MapperFactoryBean,根据mapper接口生成代理对象。
mapper.xml和mapper.java不同名或不在一个目录下的情况下,我们就要在SqlMapConfig.xml中去配置mapper.xml的地址。
注意:mapper.xml和mapper.java同名且在一个目录 ,那么不需要在SqlMapConfig.xml中加载mapper文件。这特性是由MapperFactoryBean提供的。
使用MapperFactoryBean需要在spring容器对每个mapper进行配置,麻烦。所以就产生了Mapper动态代理的第二种方式。
l 方式2:使用mapper自动扫描器
使用mybaits和spring整合包中提供的mapper扫描器,自动扫描mapper,生成动态代理对象,在spring容器注册。
配置mapper自动扫描器
开发两个文件:mapper.java和mapper.xml,注意:mapper.xml和mapper.java同名且在一个目录
测试:
获得spring容器,从容器中得SysuserCustomMapper
本系统采用扫描器方法创建mapper对象。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
在这个项目中:我们用自动扫描器:
是这么配置的。在applicationContext-dao.xml中:
我们所有的Mapper.java文件都写在yycg.**.dao.mapper这个路径下。
当我们的spring 容器去加载这些Mapper的时候,会把这些Mapper.java对应的**Mapper.xml文件也一起加载进来(**Mapper.xml和Mapper.java在同一个目录下)。
Log4j.properties—》日志配置文件
Db.properties----》连接数据库
配置连接数据库的参数
Mybatis/SqlMapConfig.xml---》 mybatis的核心配置文件
Mybatis配置项
Spring/applicationContext.xml -àspring的核心配置文件
配置公用的内容:数据源、事务管理
Spring/applicationContext- base-dao.xml à配置dao
配置SqlSessionFactory,dao(mapper)
Spring/applicationContext-base-service.xml -à配置service
配置业务接口
Spring/Springmvc.xml---》配置springmvc
处理器映射器
处理器适配器
视图解析器
拦截器
一:我们先整合Dao和Spring框架:
达到目标:将spring和mybatis整合,将spring管理dao接口。
让spring对SqlSessionFactory管理,再由SqlSessionFactory自动生成sqlSession,SqlSession就是dao接口中要用的。
整合方式1(传统的Dao方式)
程序员创建dao接口及dao接口的实现类,
Dao接口实现类继承SqlSessionDaoSupport
在spring容器中配置dao接口,并将SqlSessionFactory注入到dao接口实现中,
在dao接口方法中调用this.getSqlSession()获取SqlSession。
举例:
接口实现类继承SqlSessionDaoSupport
使用此种方法需要编写mapper接口,mapper接口实现类、mapper.xml文件
1、 在sqlMapConfig.xml中配置mapper.xml的位置
<mappers>
<mapper resource="mapper.xml文件的地址" />
<mapper resource="mapper.xml文件的地址" />
</mappers>
2、 定义mapper接口
3、 实现类集成SqlSessionDaoSupport
mapper方法中可以this.getSqlSession()进行数据增删改查。
4、 spring 配置
<!-- SessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 整合mybatis,包扫描 mapper文件 -->
<property name="configLocation" value="classpath:/mybatis/sqlMapConfig.xml"/>
</bean>
<bean id=" " class="mapper接口的实现">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
整合方式2用Mapper动态代理的方法:
程序员只需要编写mapper接口(相当于dao接口),不需要编写 mapper接口的实现类,mybatis提供根据mapper接口和mapper.xml(映射文件)生成mapper接口动态代理对象(mapper接口的实现)。
具备什么规则生成mapper代理对象:
Mapper.xml中的namespace等于mapper接口的地址。
Mapper.xml中定义的sql的id(mapped statement的id)等于mapper.java中方法名
Mapper.xml中定义的statement的parametertype等于mapper.java中方法的形参类型。
Mapper.xml中定义的statement的resultType等于mapper.java中方法的返回值类型。
开发两个文件:mapper.java和mapper.xml
l 方式1:使用MapperFactoryBean
第一步:
编写mapper.xml:
<!-- SysuserMapperCustom就是mapper接口 -->
<mapper namespace="yycg.base.dao.mapper.SysuserMapperCustom">
<!-- 根据id查询用户信息 -->
<select id="findSysuserById" parameterType="string"
resultType="yycg.base.pojo.po.Sysuser">
select * from sysuser where id = #{id}
</select>
</mapper>
第二步:
编写mapper.java,
然后在spring容器中进行配置mapper:
使用MapperFactoryBean,根据mapper接口生成代理对象。
mapper.xml和mapper.java不同名或不在一个目录下的情况下,我们就要在SqlMapConfig.xml中去配置mapper.xml的地址。
注意:mapper.xml和mapper.java同名且在一个目录 ,那么不需要在SqlMapConfig.xml中加载mapper文件。这特性是由MapperFactoryBean提供的。
使用MapperFactoryBean需要在spring容器对每个mapper进行配置,麻烦。所以就产生了Mapper动态代理的第二种方式。
l 方式2:使用mapper自动扫描器
使用mybaits和spring整合包中提供的mapper扫描器,自动扫描mapper,生成动态代理对象,在spring容器注册。
配置mapper自动扫描器
开发两个文件:mapper.java和mapper.xml,注意:mapper.xml和mapper.java同名且在一个目录
测试:
获得spring容器,从容器中得SysuserCustomMapper
本系统采用扫描器方法创建mapper对象。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
在这个项目中:我们用自动扫描器:
是这么配置的。在applicationContext-dao.xml中:
--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 配置扫描包路径 ,如果扫描多个包路径,中间使用半角逗号分隔--> <property name="basePackage" value="yycg.**.dao.mapper"/> <!-- 配置SqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>
我们所有的Mapper.java文件都写在yycg.**.dao.mapper这个路径下。
当我们的spring 容器去加载这些Mapper的时候,会把这些Mapper.java对应的**Mapper.xml文件也一起加载进来(**Mapper.xml和Mapper.java在同一个目录下)。
相关文章推荐
- 主工程模块yycgproject三层构建
- 构建Maven多模块项目+SSM框架整合(一)
- 构建Maven多模块项目+SSM框架整合+Thymeleaf(二)
- 048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)
- JAVA_WEB项目之Struts2、Spring和Hibernate三大框架的整合
- maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
- maven 分模块 分工程构建项目
- 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)
- Eclipse Maven建web项目 与SSM三大框架整合教程(Spring+SpringMVC+MyBatis)
- Springboot整合dubbo构建maven多模块项目(二)- 代码编写
- JavaEE项目实战(OA系统)之五_三大框架整合之二
- 商城项目实战09:SSM框架整合之逆向工程
- ExtJS4.1+MVC3+Spring.NET1.3+EF5 整合一:构建项目框架
- ssm框架整合笔记-3-mybatis的逆向工程与测试项目
- 046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)
- J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis+Lucene+Redis+MAVEN)(1)框架整合构建
- 040医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面(editcgd.action)
- JavaEE项目实战(OA系统)之四_三大框架整合之一
- 043医疗项目-模块四:采购单模块—采购单明细查询(Dao,Service,Action三层)
- eclipse构建maven项目整合SSM(spring+springMVC+mybatis)框架