Spring-Mybatis整合注意的问题以及完整代码示例(见评论)

来源:互联网 发布:六十知天命 编辑:程序博客网 时间:2024/06/03 22:52
关于Spring-Mybatis配置文件的整合的几个问题Mybatis主要是对数据库进行操作的框架,根据mvc模型,controller调用Service层的相关服务,Service层调用DAO层进行数据库操作,DAO()中的类文件命名一般为***Mapper.java,***一般是对应的model实体类,例如存在User.java那么命名为UserMapper.java   a.model(Entity)()java文件为javaBean文件(特别要注意要保留默认的构造器,否则spring容器不能初始化bean实例)   b.mapper(dao)层的java文件为接口(只能是接口类型,不能为class或者其他)   c.为了指明mapper层操作(方法)与数据库操作语句对应(mapper.xml),有以下两种方式映射操作与sql语句        --使用xml配置文件进行映射,在进行相关映射的时候,需要注意mapper层接口中方法参数与xml文件sql语句参数对应,例如:         在接口中建立存在一个方法:MovieInfo extraMovieInfo(@Param("name") String movieName),在映射文件要           指明该函数与sql语句对应,对应的xml文件为: <select id="selectUserByUserId" resultMap="BaseResultMap">         SELECT * FROM movieInfo WHERE moviename = #{name}</select>,其中的参数就是extra...函数中对应的参数名称.         建立完映射关系之后,需要在mybatis配置文件mappers属性进行配置或者Spring配置sqlSessionFactorymapperLocations         属性值        --使用注解可以省略上面复杂的文件配置,例如:对于extraMovieInfo函数进行注解,使用查询语句@Select("select * from movieInfo         where moviename = #{name}")其中的参数还是在注解@Param()定义的参数名称.这样可以省略映射的配置文件(***mapper.xml),         并且可以省略mybaits配置文件中的mappers属性或者sqlSessionFactorymapper属性.Spring-mybatis配置文件整合:   除了Spring中常见文件配置之外还要配置BasicDataSource,该属性必须配置,该属性中的字url,name等数据库配置字段必须存在,并且还要配置    SqlSessionFactoryBean属性,sqlSessionFactory dataSource属性必须存在,还要配置MapperScannerConfigurer属性文件,其中    basePackage是必须存在的,除此之外还要设置sqlSessionFactory字段.以上都是在需要进行相关配置时候要注意的问题,如果想了解更详细的Mybatis文件配置,需要参考    http://www.mybatis.org/mybatis-3/zh/index.html以及Spring-Mybatis文件配置    http://www.mybatis.org/spring/getting-started.html
0 0