美文网首页
mybatis与spring整合

mybatis与spring整合

作者: virturalMe | 来源:发表于2017-07-12 16:57 被阅读0次

    1.记一个坑:mybatis的xml mapper文件放在源码目录时会提示无法找到,原因是使用maven构建时,会自动忽略掉其他的资源文件,不会将其打包到最终的文件中,解决办法是在pom文件中加入以下代码

    src/main/java

    **/*.xml

    SqlSessionFactory

    每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。

    mybatisSpring的封装:SqlSessionFactoryBean 默认通过读取Xml文件进行封装,并且提供了setDataSource,setTypeAlias等方法设置SqlSessionFactoryBean

    SqlSessionFactoryBean读取配置流程:

    1.读取类变量中的configuration 变量

    2.configuration没有配置,并且配置了configLocation,则读取xml文件

    3.如果 2.3都没有配置则使用默认配置

    读取配置完毕后,再加载代码中设置的以下配置

    1.配置ObjectFactory 对象工厂,mybatis 在创建 数据对象时调用工厂方法,默认使用DefaultObjectFactory对象,主要是通过反射新建对象,可以通过继承该对象对其进行扩展

    2.配置WrapObjectFactory

    3.配置vfs

    4.配置TypeAliasesPackage

    5.配置typeAliases:别名,方便在xml中进行配置时使用,如设置别名 com.ss.User alias=user ,在xml中无需再使用别名文件进行配置,TypeAliasesPackage,配置包名后,在该包名下的bean类,可以直接使用类名识别

    6.配置插件

    7.配置typeHandle,typeHandle负责mybatis在ps中设置参数,和在resultSet中取出数据时,对java对象的转换

    8.配置databaseIdProvinder,负责对应不同数据库类型

    配置Mapper

    1.通过Spring mybatis方式,spring mybatis 提供了MapperScannerFactoryBean 能够将 mapper接口动态生成 代理并注册到spring容器中,这样的方式方便但是定制化比较差

    2.手动调用的方式,调用mybatis session的方法进行调用

    相关文章

      网友评论

          本文标题:mybatis与spring整合

          本文链接:https://www.haomeiwen.com/subject/ylwbhxtx.html