1.MBG(mybatis generator)和通用mapper对比
| MBG | 通用mapper |
|---|---|
| 根据表生成实体类,dao,mapper文件 | 通过实体类生成sql语句 |
注:
- 使用时可先用MBG生成实体类,把mapper与dao接口删除,再使用通用mapper.(MBG的使用)
- 通用mapper可以完成几乎所有的单表操作,但不支持表连接。如果需要使用多表操作,需要自行定义相应方法并书写mapper文件,与之前无异,它与通用mapper互不影响。
2.通用mapper的使用
2.1 导入jar(pom.xml)
<!-- tk.mybatis/mapper-spring-boot-starter -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!--数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.19</version>
</dependency>
<!--数据库-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
2.2 书写配置文件(application.yml)
- 这里注意application.yml与之前无异
- 如果不使用自己的sql语句(不自己写mapper),可以不用写 mapper-locations:
2.3 dao接口继承Mapper<>接口
例:
import tk.mybatis.mapper.common.Mapper;
public interface UserDAO extends Mapper<User> {
}
泛型传入操作的实体类
2.4 相关注解
- @Table(name = “t_user”)
作用在类上,指定数据库表名 - @Id
作用在属性上,表名当前属性为数据库主键 - @Column(name = “age”)
作用在属性上,用来指定数据库表中的字段名 - @Transient
作用在属性上,注明当前列不是数据库中的字段 - @KeySql(useGeneratedKeys = true)
用于mysql数据库;作用在属性上,当前主键为自增长 - @KeySql(sql = “select 序列名.nextval from dual”, order = ORDER.BEFORE)
用于Oracle数据库;作用在属性上,当前主键为自增长
本文对比了MBG(mybatis generator)与通用mapper,指出通用mapper适合单表操作,不支持表连接。详细介绍了通用mapper的使用步骤,包括导入jar,配置application.yml,DAO接口继承Mapper<>,以及使用特定注解如@Table, @Id等进行数据库映射。"
111699268,10337188,RPG游戏制作教程:设置怪物掉落物与关卡部署,"['游戏开发', '游戏设计', '关卡设计', '角色扮演', '物品系统']
1364

被折叠的 条评论
为什么被折叠?



