介绍MyBatis代码生成网站(四) --- 继承基类

本文介绍如何在MyBatis代码生成网站上配置实体类与Mapper接口类,以满足特定项目的继承和接口实现需求。

一.简介

网址: http://www.fwjava.com

操作流程: 详见“ 介绍MyBatis代码生成网站(一) --- 基本操作 ”

需求描述:

1. 需要在生成的所有Java实体中 , 继承公司提供的com.icsm.common.BaseEntity类

2. 需要在生成的所有Java实体中 , 实现公司提供的com.icsm.common.IEntity接口类

3. 需要在生成的所有Mapper接口类中 , 继承公司提供的com.icsm.common.BaseMapper接口类

 

二.操作

在网站的[2.属性设置] 页面中 , 填写路径即可.

2-1  Java实体

如下图:

图标1)  在生成的所有Java实体中 , 继承公司提供的com.icsm.common.BaseEntity类

图标2)  在生成的所有Java实体中 , 实现公司提供的com.icsm.common.IEntity接口类

2-2  Mapper接口类

图标3)  在生成的所有Mapper接口类中 , 继承公司提供的com.icsm.common.BaseMapper接口类

 

三.实际效果

3-1  Java实体


package com.icsm.paybank.entity;

import com.icsm.common.BaseEntity;
import java.io.Serializable;
import com.icsm.common.IEntity;
import java.util.*;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.math.*;


/**
 * @实体名称 演示主表
 * @数表名称 TAB_DEMO
 * @开发日期 2016-09-26
 * @技术服务 www.fwjava.com
 */
public class TabDemo extends BaseEntity implements Serializable ,IEntity {

    /**
     * 主键ID(必填项)(主键ID)
     */
    private Long id                    = null;
    /**
     * 用户名称(必填项)
     */
    private String userName            = null;


    ........

}

 

3-2  Mapper接口类


package com.icsm.paybank.mapper;

import java.util.List;
import java.util.Map;
import com.icsm.paybank.entity.TabDemo;
import com.icsm.common.BaseMapper;

/**
 * @实体名称 演示主表
 * @数据库表 TAB_DEMO
 * @开发日期 2016-09-26
 * @技术服务 www.fwjava.com
 */
public interface TabDemoMapper extends BaseMapper {

    /**
     * 1.新增一条数据
     * 注: 根据Bean实体执行新增操作.
     * @param tabDemo     - 演示主表
     * @throws Exception  - 异常捕捉
     */
    public void getInsert(TabDemo tabDemo) throws Exception;
    public void getInsertPrmMap(Map<String ,Object> map) throws Exception;


    /**
     * 2.删除一条数据
     * 注: 根据Bean实体的主键ID执行删除操作.
     * @param id          - 主键ID
     * @return int        - 执行结果
     * @throws Exception  - 异常捕捉
     */
    public int getDelete(Long id) throws Exception;

    
    .......

}

 

以上 !

 

转载于:https://my.oschina.net/fwjava/blog/751863

### MyBatis-Plus 中 Entity 基类的使用方法和实现细节 #### 一、简介 MyBatis-Plus 提供了一个抽象的基础实体类 `BaseEntity` 或者接口 `IPage<T>` 来帮助开发者快速构建自己的业务实体。通过继承这些基础组件,能够自动获得一系列便捷的方法用于处理常见的持久化逻辑。 #### 二、主要特性 ##### 继承自 BaseMapper 的默认行为支持 当定义一个新的 Mapper 并让它扩展 `com.baomidou.mybatisplus.core.mapper.BaseMapper` 后,在对应的 XML 文件里无需再编写 SQL 映射语句即可完成基本的数据存取操作[^2]。 ##### 自动填充字段 对于某些特定场景下的属性值设置需求(比如创建时间戳),可以通过实现 `MetaObjectHandler` 接口来自动生成并维护这类信息而不需要手动干预每一个新增或更新动作[^1]。 ```java public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); } @Override public void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); } } ``` ##### 主键策略设定 为了方便不同类型的主键生成机制的选择,默认提供了几种常见的方式如雪花算法(Snowflake),UUID等;也可以根据项目实际情况定制专属方案[^3]。 ```java @TableId(type = IdType.AUTO) private Long id; // OR @TableId(value="id", type= IdType.INPUT) private String customId; ``` #### 三、常用注解介绍 | 注解名称 | 描述 | | --- | --- | | `@TableField` | 指定表中的列名及其附加选项,例如是否忽略该字段不参与查询条件拼接等 | | `@Version` | 支持乐观锁版本控制标记 | | `@LogicDelete` | 软删除标志位 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值