通用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、批量操作,批量插入,批量更新,需要自写。
|