easy admin java_Idea中使用Easy Code更具数据库表自动生成java代码

本文介绍了如何在IntelliJ IDEA中利用Easy Code插件根据数据库表自动生成Java代码,包括Entity、Model、DAO和服务层代码。详细步骤从安装插件开始,到指定模板和保存路径,适合基于JPA的项目。
摘要由CSDN通过智能技术生成

步骤1:安装插件并重启启动Idea

e2cce418b829b40cffe85f99d540eed0.png

步骤2:找到idea的dataSource,并连接数据库

345f3704926d4b22825364e662368430.png 

ed627b79222d53201a087592a8cfd742.png

步骤3:选择需要的表,选中easy code

6100ec460e9605730830356a0ed29c23.png

步骤4:指定文件生成的module,路径以及需要生成的类使用的模板

45a3eaa075691d4ce1675142b2d90ef0.png

easyCode 默认是mybatis,因项目使用jpa,所以此处提供jpa模板:

entity:

##引入宏定义

$!define

##定义初始变量

#set($entityName = $tool.append("Base", $tableInfo.name))

##设置回调

$!callback.setFileName($tool.append($entityName, ".java"))

$!callback.setSavePath($tool.append($tableInfo.savePath, "/model"))

##使用宏定义设置包后缀

#setPackageSuffix("model")

##使用全局变量实现默认包导入

$!autoImport

import javax.persistence.Column;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

import javax.persistence.Entity;

import org.hibernate.annotations.GenericGenerator;

import java.io.Serializable;

##使用宏定义实现类注释信息

#tableComment("实体类")

@Entity

@Table(name="$!{tableInfo.obj.name}")

public class $!{entityName} implements Serializable {

private static final long serialVersionUID = $!tool.serial();

#foreach($column in $tableInfo.fullColumn)

#if(${column.comment})/**

* ${column.comment}

*/#end

#if(${velocityCount} == 1)

@Id

@Column(name = "$column.obj.getName()")

@GenericGenerator(name = "system-uuid", strategy = "uuid")

@GeneratedValue(generator = "system-uuid")

#else

@Column(name = "$column.obj.getName()")

#end

private $!{tool.getClsNameByFullName($column.type)} $!{column.name};

#end

#foreach($column in $tableInfo.fullColumn)

##使用宏定义实现get,set方法

#getSetMethod($column)

#end

}

model模板:

##定义初始变量

#set($modelName =$tool.append($tableInfo.name))

#set($entityName = $tool.append("Base", $tableInfo.name))

##设置回调

$!callback.setFileName($tool.append($modelName, ".java"))

$!callback.setSavePath($tool.append($tableInfo.savePath, "/model"))#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}model;

/**

* $!{tableInfo.comment}($!{tableInfo.name})表数据库model

*

* @author $!author

* @since $!time.currTime()*/

public class${modelName} extends ${entityName} {

}

dao模板:

##定义初始变量

#set($tableName = $tool.append($tableInfo.name, "Dao"))

##设置回调

$!callback.setFileName($tool.append($tableName, ".java"))

$!callback.setSavePath($tool.append($tableInfo.savePath, "/dao"))

##拿到主键#if(!$tableInfo.pkColumn.isEmpty())#set($pk = $tableInfo.pkColumn.get(0))

#set($pkType = $tableInfo.pkColumn.get(0).shortType)

#end#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}dao;import $!{tableInfo.savePackageName}.model.Base$!{tableInfo.name};

import com.acmtc.common.dao.IRepository;/**

* $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层

*

* @author $!author

* @since $!time.currTime()*/

public interface $!{tableName} extends IRepository{

}

service模板:

##定义初始变量

#set($tableName = $tool.append($tableInfo.name, "Service"))

##设置回调

$!callback.setFileName($tool.append($tableName, ".java"))

$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))

##拿到主键#if(!$tableInfo.pkColumn.isEmpty())#set($pk = $tableInfo.pkColumn.get(0))

#end#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service;import $!{tableInfo.savePackageName}.model.$!{tableInfo.name};

import java.util.List;/**

* $!{tableInfo.comment}($!{tableInfo.name})表服务接口

*

* @author $!author

* @since $!time.currTime()*/

public interface $!{tableName} {

}

serviceImpl模板:

##定义初始变量

#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))

##设置回调

$!callback.setFileName($tool.append($tableName, ".java"))

$!callback.setSavePath($tool.append($tableInfo.savePath, "/service/impl"))

##拿到主键#if(!$tableInfo.pkColumn.isEmpty())#set($pk = $tableInfo.pkColumn.get(0))

#end#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service.impl;import $!{tableInfo.savePackageName}.model.$!{tableInfo.name};

import $!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao;

import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;

import org.springframework.stereotype.Service;

import javax.transaction.Transactional;

import javax.annotation.Resource;

import java.util.List;/**

* $!{tableInfo.comment}($!{tableInfo.name})表服务实现类

*

* @author $!author

* @since $!time.currTime()*/@Service

@Transactionalpublic class $!{tableName} implements $!{tableInfo.name}Service {

@Resourceprivate $!{tableInfo.name}Dao $!tool.firstLowerCase($!{tableInfo.name})Dao;

}

注:因项目各异,具体使用时候可能需要微小调整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值