通用mapper的使用

本文对比了MBG(mybatis generator)与通用mapper,指出通用mapper适合单表操作,不支持表连接。详细介绍了通用mapper的使用步骤,包括导入jar,配置application.yml,DAO接口继承Mapper<>,以及使用特定注解如@Table, @Id等进行数据库映射。" 111699268,10337188,RPG游戏制作教程:设置怪物掉落物与关卡部署,"['游戏开发', '游戏设计', '关卡设计', '角色扮演', '物品系统']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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数据库;作用在属性上,当前主键为自增长
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值