IDEA 插件 Easy Code 配置,结合 Layui table数据

本文介绍了如何配置IntelliJ IDEA的Easy Code插件,以配合Layui表格展示数据。在配置过程中,注意需要在MySQL连接URL中添加allowMultiQueries=true参数以支持MyBatis在同一标签内执行多条SQL。在控制器层,API设计可以直接供Layui表格调用。然而,存在一个问题,即在controller模板生成的Java代码中,方法名可能会丢失,需要手动将“…”替换为“.”。此外,文章还提供了关于mapper.xml、entity、service、serviceImpl、Dao、DaoSupport、Page、Layui、LayuiUtil、Result、ReturnUtil等模板的配置建议,并提及了Global Config的相关设置。
摘要由CSDN通过智能技术生成

关于 easy code 的配置之前有写过一次,但是里面存在许多的问题,有的当时没解决,有的当时没发现(感觉好坑啊),现在从新写过。
涉及 mybatis 同个标签中执行多条sql语句,因此 mysql(我的数据库)连接 url 需要添加参数 allowMultiQueries=true 。
controller 层下的 api , 可以直接被 Layui.table 数据表格调用渲染表格。

这次的还是存在一个瑕疵,controller 模板下调用的方法在生成 .java 后莫名其妙的丢啦,easy code 基础的模板就没问题,我…因此,controller 模板调用方法时我这里使用了两个“…”,生成 .java 后需要把两个点“…”替换为一个点“.”。

        <!--如果sql插入、修改时需要返回主键,mybatis版本必需是3.3.1或以上-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>

File | Settings | Other Settings | Easy Code

Type Mapper

在这里插入图片描述

columnType javaType
varchar((\d+))? java.lang.String
char((\d+))? java.lang.String
text java.lang.String
decimal((\d+))? java.lang.Double
decimal((\d+,\d+))? java.lang.Double
integer java.lang.Integer
int((\d+))? java.lang.Integer
int4 java.lang.Integer
int8 java.lang.Long
bigint((\d+))? java.lang.Long
datetime java.til.String
timestamp java.util.String
boolean java.lang.Boolean
int((\d+))? unsigned java.lang.Integer
tinyint((\d+))? java.lang.Byte
smallint((\d+))? java.lang.Short
longtext java.lang.String
integer((\d+))? java.lang.Integer

Template Setting

mapper.xml

##引入mybatis支持
$!mybatisSupport
##引入全局变量
$!init
##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{
   tableInfo.name}, "Mapper.xml"))
$!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper"))
##表名$!{
   tableInfo.obj.parent.name}.$!tableInfo.obj.name
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="$!{tableInfo.name}Mapper">

    <resultMap id="$!{tableInfo.name}Map" type="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}">
#foreach($column in $tableInfo.fullColumn)
        <result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
#end
    </resultMap>
    <resultMap id="$!{tableInfo.name}Count" type="java.lang.Integer">
        <result column="totalNum" jdbcType="INTEGER"/>
    </resultMap>
    <resultMap id="$!{tableInfo.name}VoMap" type="java.util.HashMap"/>
    
    
    <sql id="Base_Column_List" >
        #allSqlColumn()
        
    </sql>
    
    
    <!--总记录数-->
    <select id="totalCount" resultType="java.lang.Integer">
        select count(*) from $!tableInfo.obj.name
    </select>
    
    <!--按主键查找-->
    <select id="queryById" resultMap="$!{tableInfo.name}Map">
        select
            <include refid="Base_Column_List"/>
        from $!tableInfo.obj.name
        where $!pk.obj.name = #{
   $!pk.name, jdbcType=$!pk.ext.jdbcType}
    </select>
    
    <!--查询所有-->
    <select id="queryAll" resultMap="$!{tableInfo.name}Map">
        select
            <include refid="Base_Column_List"/>
        from $!tableInfo.obj.name
    </select>
    
    <!--分页查找-->
    <select id="queryListLimit" resultMap="$!{tableInfo.name}Map,$!{tableInfo.name}Count">
        select
            SQL_CALC_FOUND_ROWS <include refid="Base_Column_List"/>
        from $!tableInfo.obj.name
        limit #{
   page}, #{
   limit}
        ;SELECT FOUND_ROWS() AS totalNum;
    </select>
    
#*    <!--通过实体作为筛选条件查询-->
    <select id="queryAll" parameterType="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" resultMap="$!{tableInfo.name}Map">
        select
          <include refid="Base_Column_List"></include>
        from $!tableInfo.obj.name
        <where>
#foreach($column in $tableInfo.fullColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">and $!column.obj.name = #{
   $!column.name}</if>
#end
        </where>
    </select>*#
    <!--新增所有列-->
    <insert id="insert" parameterType="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" keyColumn="$!pk.name" keyProperty="$!pk.name" useGeneratedKeys="true">
        insert into $!{
   tableInfo.obj.name}
        <trim prefix="(" suffix=")" suffixOverrides="," >
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">$!column.obj.name,</if>
#end
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">#{
   $!column.name, jdbcType=$!column.ext.jdbcType},</if>
#end
        </trim>
##insert into $!{
   tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
##values (#foreach($column in $tableInfo.otherColumn)#{
   $!{
   column.name}}#if($velocityHasNext), #end#end)
    </insert>
        
    <!--按主键修改-->
    <update id="update" parameterType="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" keyColumn="$!pk.name" keyProperty="$!pk.name" useGeneratedKeys="true">
        update $!{
   tableInfo.obj.name}
        <set>
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">$!column.obj.name = #{
   $!column.name, jdbcType=$!column.ext.jdbcType},</if>
#end
        </set>
        where $!pk.obj.name = #{
   $!pk.name, jdbcType=$!pk.ext.jdbcType}
    </update>
    
    <!--按主键删除-->
    <delete id="deleteById" parameterType="java.lang.Long">
        delete from $!{
   tableInfo.obj.name} where $!pk.obj.name = #{
   $!pk.name, jdbcType=$!pk.ext.jdbcType}
    </delete>

</mapper>

entity.java

##引入全局变量
$!init
##引入宏定义
$!define

##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", ".java")

##使用宏定义设置包后缀
#setPackageSuffix("entity")

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end
##使用全局变量实现默认包导入
$!autoImport
import java.io.Serializable;
##import javax.persistence.*;

##使用宏定义实现类注释信息
#tableComment("实体类")
##@Entity
##@Table(name = "$!tableInfo.obj.name")
public class $!{
   tableInfo.name} implements Serializable {
   

    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)

    #if(${
   column.comment})//${column.comment}#end
#*    
    #if($!pk.obj.name == $!column.obj.name)@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SELECT LAST_INSERT_ID()")    
    #else
@Column(name = "$!column.obj.name")
    #end*#    
    private $!{
   tool.getClsNameByFullName($column.type)} $!{
   column.name};
#end

#foreach($column in $tableInfo.fullColumn)
##使用宏定义实现get,set方法
#getSetMethod($column)
#end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值