热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

使用idea插件进行java代码生成的操作

这篇文章主要介绍了使用idea插件进行java代码生成的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

java代码生成

使用idea的插件codehelper.generator进行代码生成,可以根据entity,生成对应的

1、建表sql语句

2、dao.java文件

3、dao.xml文件

4、service.java文件

同时这个插件还能在new了entity之后生成所有的set方法

多次生成,不会影响自己手动添加的代码

安装

安装插件codehelper.generator

案例

@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserEntity {
  @Id
  private Integer id;

  private String name;

  /**
   * 1启用,0停用
   */
  private Integer state;

  private String remark;
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date addtime;
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date stoptime;
}

生成set

UserEntity user=new UserEntity();

//new了之后在下一行:点击tool--codeHelper--GenAllSetter

生成代码

点击tool--codeHelper--tox Boxes--在弹窗中输入entity,多个使用'|'分隔,就会在当前文件夹生成代码

sql

-- auto Generated on 2020-01-14 12:49:57 
-- DROP TABLE IF EXISTS `user_entity`; 
CREATE TABLE user_entity(
  `id` INTEGER(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'name',
  `state` INTEGER(12) NOT NULL DEFAULT -1 COMMENT '1启用,0停用',
  `remark` VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'remark',
  `addtime` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00' COMMENT 'addtime',
  `stoptime` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00' COMMENT 'stoptime',
  PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT 'user_entity';

dao

package com.demo1.invoice.entity.user;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.demo1.invoice.entity.user.UserEntity;

public interface UserEntityDao {

  int insert(@Param("pojo") UserEntity pojo);
  int insertList(@Param("pojos") List pojo);
  List select(@Param("pojo") UserEntity pojo);
  int update(@Param("pojo") UserEntity pojo);
}

xml

<&#63;xml version="1.0" encoding="UTF-8" &#63;>




  
    
    
    
    
    
    
  


  
    id,
    name,
    state,
    remark,
    addtime,
    stoptime
  


  
    INSERT INTO user_entity
    
       id, 
       name, 
       state, 
       remark, 
       addtime, 
       stoptime, 
    
    VALUES
    
       #{pojo.id}, 
       #{pojo.name}, 
       #{pojo.state}, 
       #{pojo.remark}, 
       #{pojo.addtime}, 
       #{pojo.stoptime}, 
    
  


  
    INSERT INTO user_entity(
    
    )VALUES
    
      (
      #{pojo.id},
      #{pojo.name},
      #{pojo.state},
      #{pojo.remark},
      #{pojo.addtime},
      #{pojo.stoptime}
      )
    
  


  
    UPDATE user_entity
    
       id = #{pojo.id}, 
       name = #{pojo.name}, 
       state = #{pojo.state}, 
       remark = #{pojo.remark}, 
       addtime = #{pojo.addtime}, 
       stoptime = #{pojo.stoptime} 
    
     WHERE id = #{pojo.id}
  


  


  
    DELETE FROM user_entity where id = #{id}
  

service

import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.demo1.invoice.entity.user.UserEntity;
import com.demo1.invoice.entity.user.UserEntityDao;

@Service
public class UserEntityService {

  @Resource
  private UserEntityDao userEntityDao;

  public int insert(UserEntity pojo){
    return userEntityDao.insert(pojo);
  }

  public int insertList(List pojos){
    return userEntityDao.insertList(pojos);
  }

  public List select(UserEntity pojo){
    return userEntityDao.select(pojo);
  }

  public int update(UserEntity pojo){
    return userEntityDao.update(pojo);
  }

}

补充知识:IDEA 新建junit单元测试

1. 新建test目录

在src同级目录下新建test文件夹,右键test文件夹设置为Test Source Root

2. 创建测试类

选中要创建单元测试的实现类,并将焦点放在编辑器中(鼠标在编辑器中点击一下),菜单栏选择Navigate----Test(Mac快捷键:Cmd+shift+t):

选择创建新的测试:

选中要测试的方法,以及生成@Before:

这样之后就会在test下新建一个测试类:

3. 测试函数介绍

测试类中包含两个函数:

@Before

public void setUp() throws Exception

这个是测试方法执行前执行的函数,假如在测试方法中需要使用该类中的成员变量,那么可以在该函数中定义该成员变量。

@Test

public void findUserById() throws Exception

这个便是测试函数。点击编辑器左列的小工具即可发起测试。

以上这篇使用idea插件进行java代码生成的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文介绍如何在Java项目中使用Log4j库进行日志记录。我们将详细说明Log4j库的引入、配置及简单应用,帮助开发者快速上手。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
author-avatar
祥荣华贵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有