A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝色土耳其 初级黑马   /  2019-7-25 15:16  /  769 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通用mapper与Spring集成
(1)引入依赖
正常情况下,Spring 和 MyBatis 的集成环境中,应该已经存在下面的依赖:<dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis</artifactId>  <version>版本号</version></dependency><dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis-spring</artifactId>  <version>版本号</version></dependency><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-context</artifactId>  <version>版本号</version></dependency><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-tx</artifactId>  <version>版本号</version></dependency><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-jdbc</artifactId>  <version>版本号</version></dependency>
集成通用 Mapper 在上面的基础上添加下面的依赖:
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper</artifactId>
    <version>最新版本</version>
</dependency> 实体类映射
实体类映射类似下列形式
@Table(name="tb_brand")
public class Brand implements Serializable{

    @Id
    private Integer id;
  
    private String name;

    //getter and setter ....
}
@Table是指定实体类对应的数据库表  @Id指的是主键映射。经过上面简单的配置后,相当于就有了 MyBatis 中的关系映射了
3.2.3 创建Mapper接口
public interface BrandMapper extends Mapper<Brand> {
  
}
通用mapper

  通用Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example相关的单表操作。

  1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改

  2、需要自己实现sql分页,select* from table where . . . limit 1,3

  自己手写分页,除了传参page、pageSize,还需要返回条目总数count。

  3、数据库可移植性差:如果项目更换数据库,比如oracle-->mysql,mapper.xml中的sql要重新写,因为Oracle的PLSQL和mysql 支持的  函数是不同的。

  4、生成的代码量过大。

  5、批量操作,批量插入,批量更新,需要自写。






0 个回复

您需要登录后才可以回帖 登录 | 加入黑马