mybatis在spring里的配置
来源:互联网 发布:当数据库被破坏后 编辑:程序博客网 时间:2024/05/19 17:56
1、在 MyBatis-spring 中,session工厂则使用 SqlSessionFactoryBean 来创建,SqlSessionFactoryBean 实现了 Spring 的 FactoryBean 接口,由 Spring 最终创建的 bean 不是 SqlSessionFactoryBean 本身,而是工厂类的 getObject()返回的方法的结果。
在一般的 MyBatis-Spring 用法中, 你不需要直接使用 SqlSessionFactoryBean 或者 和其对 应的 SqlSessionFactory。
相反,session 工厂将会被注入到 MapperFactoryBean 或其它扩 展了 SqlSessionDaoSupport 的 DAO中。
它有一下几个属性:
1)dataSource 该属性必须配置,多数据源时会有多个dataSource,同时也需要配置多个sqlSessionFactory来对应。
2)configLocation 它是用来指定 MyBatis 的 XML 配置文件路径的。当SqlSessionFactoryBean提供的配置不能满足使用时,你可以使用mybatis-config.xml配置文件配置其他属性,然后通过configLocation属性指定该配置的路径,SqlSessionFactoryBean会使用该配置文件创建Configuration。3)mapperLocations sqlSessionFactory会自动扫描该路径下的所有文件并解析。
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="multipleDatasSource" /><property name="configLocation" value="classpath:mybatis.xml" /><property name="mapperLocations" value="classpath*:sqlmap/**/*.xml" /></bean>
4)plugins 可以配置MyBatis的拦截器,拦截器的配置顺序会影响拦截器的执行顺序。
从上往下的拦截器,实际的执行顺序是这样,第一个拦截器会最后执行,最后一个会首先执行。
然后出拦截器的顺序和配置的顺序一致,第一个最先返回,最后一个最后返回。
2、MapperScannerConfigurer 配置 它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。
MyBatis-Spring 提供了一个动态代理的实现:MapperFactoryBean。这个类 可以让你直接注入数据映射器接口到你的 service 层 bean 中。你不需要编写任何 DAO 实现的代码,因为 MyBatis-Spring 将会为你创建代理。
basePackage属性 必须要配的属性。
sqlSessionFactoryBeanName属性 只有当你配置多数据源的时候,这时会有多个sqlSessionFactory,你就需要通过该属性来指定哪一个sqlSessionFactory
3、<context:component-scan>有一个use-default-filters属性,该属性默认为true,这就意味着会扫描指定包下的全部的标有@Component的类,并注册成bean.也就是@Component的子注解@Service,@Repository等。这样粒度有点大,将该属性改为false,这样只会扫描指定包下的指定注解。
4、mybatis只是一个半自动化的ORM实现,需要我们自己写sql,而不像hibernate那样,直接定义好实体与数据表的映射就行。
参考 mybatis开发Dao的方法
5、typeAliases属性
resultType属性的值为com.yu.model.User,表示这个查询返回的类型为com.yu.model.User类型。
<select id="findUserById" resultType="com.yu.model.User" parameterType="long"> select * from t_user where id = #{id}</select>如果有很多种类型的话,每次都得把类型的全路径写上,感觉就很费事。所以就可以用mybatis提供的typeAliases来进行别名配置。
<typeAliases> <typeAlias type="com.yu.model.User" alias="User" /> <typeAlias type="com.yu.model.Org" alias="Org"/></typeAliases>上面的配置可以改为
<select id="findUserById" resultType="User" parameterType="long"> select * from t_user where id = #{id}</select>
6、resultMap属性:type为java实体类;id为此resultMap的标识。
id – ID 结果,将结果集标记为ID,以方便全局调用
result – 反射到JavaBean 属性的普通结果
association – 复杂类型的结合;多个结果合成的类型
<resultMap id="fieldMapper" type="com.cmcc.healthcare.pojo.hars.Appointmentrecord"><id property="id" column="ID" /><!----><result property="hospitaluid" column="HOSPITALUID" /><!--医院主键id--><association property="hospitalinfo" resultMap="hospitalinfoMap" /><!--医院信息--></resultMap>
0 0
- mybatis在spring里的配置
- mybatis spring里配置ibatis
- Mybatis的Spring配置
- Hibernate注解配置 在Spring的配置文件里写法
- Hibernate注解配置 在Spring的配置文件里写法
- Hibernate注解配置 在Spring的配置文件里写法
- Spring 在xml配置里配置事务
- MyBatis集合Spring(一)之在MyBatis中配置Spring的应用
- spring 里的事务配置
- 在spring-mvc.xml里配置异步
- 简洁的spring+mybatis 配置
- mybatis基于spring的配置
- spring配置mybatis的sqlsessionfactory
- spring+mybatis的配置用法
- 在spring项目中配置mybatis
- MyBatis在Spring中简单配置
- Atitit.mybatis的测试 以及spring与mybatis在本项目中的集成配置说明
- spring mvc+spring+mybatis的配置
- hdu 5772 String problem(2016多校第四场1009)最大权闭合图
- HDOJ-1242 Rescue
- StringTokenizer类的使用
- mysql binlog
- advisor2002在MATLAB2014a的安装教程
- mybatis在spring里的配置
- 防重复提交专题系列3-3:springmvc下的基于token的防重复提交
- Java集合,文章收藏
- 题目733 万圣节派对
- tjut 4648
- 利用OpenCV的VideoWriter类实现视频的写操作
- spring-boot引入log4j
- unity保存到手机本地存储空间
- 表单提交写action= javascript:void(0); 和不写action有什么区别