精华内容
下载资源
问答
  • 想在myeclipse中添加注释时自动把一些内容,比如说作者姓名,email,时间,日期等快速的添加到注释中,可采用以下方法:  myeclipse -> Window -> Preferences -> Java -> Code Style -> Code Templates -> ...
    想在myeclipse中添加注释时自动把一些内容,比如说作者姓名,email,时间,日期等快速的添加到注释中,可采用以下方法: 

    myeclipse -> Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments -> Types 

    点击Edit ,可在Pattern 里面设置自己想要的注释模式,比如说作者, 
    @author ${user},${user}通过下方按钮Insert Variable...添加,点击user就可以了,注释写完以后,点击ok,把下方的Automatically add comments for new methods and types 前面的方框打上勾,点击apply,ok就可以了。 


    @date ${date} ${time}  

    写代码时,写/**回车就可以看到所有设定的注释啦!!
    展开全文
  • 相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格的自动化整理。...

    相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格的自动化整理。

    首先我们有这么一份数据表 source.csv:

    dfdecd01b9d4c2766412e951f050d2d0.png

    我们要做的是从上表中提取数据,来生成一份符合以下要求的表格:

    1. 按照以下分组名单 group.xls 来整理数据表中的数据:

    0d0a5c1dae7f5d1daf994b316e395a24.png
    1. 最终要展现的数据项:

    32a44624a5a0653d40f17e52f02de4b5.png
    1. 其中“K数据/60”为数据表中的“数据K”/60后保留的2位小数

    我们先看手工 Excel 如何处理以上需求:要在 source.csv 数据表中读取读取每条数据,放入 group.xls 匹配的分组成员中,最后筛选需要的数据项,再对特定的 “数据K”进行运算处理。

    那么 Python 又将如何操作呢?这里我们要用到功能强大的 pandas 库。

    pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

    pandas 百度百科

    首先导入 pandas 库,通过相关的函数读取 csv 和 xls 表格内容:

    import pandas as pd
    # 读取 group.xls 分组信息
    group = pd.read_excel("group.xls",header=None)
    group.columns=["分组","角色"]
    print(group)
    # 读取 source.csv 获取所有成员数据
    source = pd.read_csv("source.csv")
    print(source)

    我们可以首先对 source.csv 中的数据项进行筛选,需要的数据项有“角色”、“编号”、“数据B”、“数据C”、“数据D”和“数据K”:

    # 通过 iloc[:,[列坐标]] 来定位需要的各列数据
    filter_merge = source.iloc[:,[0,2,4,5,6,13]]
    print(filter_merge)

    接下来是根据分组角色来匹配角色数据,注意到 group.xls 和 source.csv 共有“角色”一项,我们可以通过此项将两个表格融合从而形成匹配填充的效果。

    combine = pd.merge(group,filter_merge,on="角色")

    接下来我们在第二列插入运算后的“数据K/60”:

    combine.insert(1,"数据K/60",round(filter_merge["数据K"]/60,2))

    最终,我们将生成的数据格式写入新的 xlsx 表格中:

    combine.to_excel(excel_writer="result.xlsx",index=False)

    最终自动生成的表格如下:

    dcf9559a93cdd4eb26ef176faef1165a.png

    以上便是 Excel 表格整理的 Python 代码简单实现,在操作过程中也遇到几个问题贴在这里供大家参考:

    1. 导入 pandas 时可能会报错:
      解决:根据报错信息安装需要的相关模块
    2. 要进行表格整理的电脑为公司电脑、无法连接外网下载 Python
      解决:https://blog.csdn.net/sundan93/article/details/62888068
      参照以上链接,先在外网电脑下载 Python 安装文件以及相关的模块安装文件,拷贝到无网络电脑进行安装
    3. 以上表格整理的实例在现实工作有参考意义么:
      回答:文中表格的原型是一份员工工作记录,根据人员分组进行相关的数据统计。类似的分组统计成员数据都可以根据此简单 Python 模版来实现。

    源代码:https://pan.baidu.com/s/1ro4lUaRtRb86Lf49LSjRBA (权当一个参考和提示,自行搜索尝试实现才能真正掌握哈,有问题欢迎留言反馈~)

    原作者:TED

    原出处:TEDxPY

    原文链接(Python 自动整理 Excel 表格)

    展开全文
  • 最近有小伙伴问我,eclispe里面怎么自动生成作者、时间等信息,我也终于弄懂了怎么自动生成了,接下来就教大家怎么弄吧,希望大家以后多多支持我,有关于Java/C++/C语言的问题都可以在后台留言,我一定会积极回复...
    最近有小伙伴问我,eclispe里面怎么自动生成作者、时间等信息,我也终于弄懂了怎么自动生成了411054031ce1b7bfa7df00015840a6c2.png,接下来就教大家怎么弄吧,希望大家以后多多支持我,有关于Java/C++/C语言的问题都可以在后台留言,我一定会积极回复大家的b065705fcef537d5966ec61396722b37.png

    第一步

    在菜单栏依次选择 Window-Preference

    614a86fb911d338caa87951291866f3f.png

    第二步

    Java-Code Style-Code Templates

    065db46bf25c091d0a687a79b4ef37c5.png

    第三步

    展开Comments下的选项,下面是常见的设置,对应双击进去,把以下代码copy进去就行了b7ed63fddbd36371d3444c4905fc1db9.pngb7ed63fddbd36371d3444c4905fc1db9.pngb7ed63fddbd36371d3444c4905fc1db9.png

    (1)File是对你的java文件进行自动生成注释

    /***@Title:${file_name}*@Package ${package_name}*@Description ${todo} (描述文件的作用)*@author ${user}*@data ${date} ${time}*/

    (2)Types是对你的类进行自动生成注释

    /***@ClassName:${type_name}*@Description: ${todo} (描述这个类的作用)*/

    (3)Methods是对你方法进行自动生成注释

    /***@Title:${enclosing_method}*@Description ${todo} (描述一下这个方法的作用)*${tags} (参数)*@return ${return_type}*@throws*/

    第四步

    一定要勾选Automatically add comments那一行哦,并且选择Apply and Close。

    764ccf5848c3f4899c51becaa71c52c4.png

    最终效果

    我们在项目中新建一个类,他就会自动生成信息,这样的设置可以让我们的代码更容易看懂,不会过一周就不认识自己的代码啦,我就是隔一段时间看代码就会觉得这一定不是我写的哈哈哈411054031ce1b7bfa7df00015840a6c2.png411054031ce1b7bfa7df00015840a6c2.png411054031ce1b7bfa7df00015840a6c2.png,希望大家也能养成良好的写代码习惯,最终自动生成效果图

    971aee52363ed55d222bfdc2dd5d43e2.png

    当然,你们或许还会问,我自己写一个类、方法怎么自动生成注释代码呢,自己写完一个类或方法或接口,就把光标定位到最后一个花括号后面,并且按快捷键Alt+Shift+J就会自动生成了。

    de864cf775959d5c9635e5658273b55b.png

    小伙伴们自己尝试一下吧,Comments代表注释模板,Code代表代码模板,其中每一个子菜单代表子项的模板。文中还有没说到的,自己慢慢尝试~6f11b26ca34a20a172ec7d407720cf4e.png,不会记得百度,今天也是加油的一天。

    展开全文
  • 项目背景前段时间我们介绍了如何使用thymeleaf去生成mybatis相关的模板:https://www.lixiang.red/articles/2019/07/23/1563857782748.html今天小刀和各位小伙伴们一起来深入下这个问题,我们来研究下怎么去封装一个...

    项目背景

    前段时间我们介绍了如何使用thymeleaf去生成mybatis相关的模板:https://www.lixiang.red/articles/2019/07/23/1563857782748.html今天小刀和各位小伙伴们一起来深入下这个问题,我们来研究下怎么去封装一个通用的Mybatis模板,让简单的增删改查操作,直接通过我们的代码生成工具就能解决,让工具从demo级别上升到生产可用的项目

    mybatis简单介绍

    相信很多小伙伴都已经用过Mybatis了,很简单方便, 在springboot的集成环境里面,写个DAO接口,加上注解,然后写个xml和DAO关联起来,然后xml里面方法和DAO里面的方法关联起来,然后就可以通过调用DAO方法的形式来调用这个sql,并获得相应的返回结果,代码结构如图下所示:

    b988e222a1114596e8fc64a8e0a4c80e.png

    这是以往的方式,在新版Mybatis中,我们有了一个新的选择,用java类和注解的方式去完成一个sql ,官方文档如下:http://www.mybatis.org/mybatis-3/statement-builders.html写法如下:

    1acdf745e30b21748a05ad817a16c14a.png

    只建议简单的sql用注解的方式去处理,复杂的还是要手写sql , 可以重新建一个DAO , 或者在provider里面用字符串拼接的方式去完成具体用法,大家可以参考上面的官方文档中的地址

    设计封装的方法

    封装规则要求

    我们总说,我们一直都在做重复的增删改查工作,现在我们就可以把这些基本的操作都封装起来,把更多的精力放在应用高可用,高响应,业务逻辑的梳理上面因此 ,我们的封装也是以增删改查四大方向为主.在封装之前,我们先约定以下规定:1.数据库对应的实体对象,我们用DO(domain object)来表示2.数据库对应的查询对应,我们用QC(query object)来表示3.各种操作方法的命名,如,getModel,listModels,saveModels等等这样把数据库实体对象和查询对象分开,因为我们的在加查询条件的时候,比如通过idList去查询,如果在DO里面新加字段就不太好,所以抽象了一个QC的概念,专门做数据库查询对象。

    从前到后的对应关系

    为什么我们项目可以用模板生成工具进行生成呢,大家仔细研究下手中的项目可以发现我们的项目从controller开始,到最后的DAO其实都是有名字对应起来的,我们以查询为例: listItems,通过这个名字我们可以直观的看到,是获取商品列表的.Controller中的代码:

    @GetMapping("/item/query")@ResponseBodypublic BaseResponse> queryItem(ItemDO item, Integer pageIndex , Integer pageSize){        List items = itemManager.queryItem(item, pageIndex, pageSize);Long totalCount = itemManager.countItem(item);        pageIndex = pageIndex == null?1:pageIndex;        pageSize = pageSize == null?20:pageSize;return  BaseResponse.assemblePageResponse(items,totalCount,pageIndex,pageSize);    }

    模板:

    @GetMapping("/[(${table.javaCamelName})]/query")    @ResponseBody    public BaseResponse> query[(${table.javaTableName})]([(${table.javaTableName})]DO [(${table.javaCamelName})], Integer pageIndex , Integer pageSize){        List [(${table.javaCamelName})]s = [(${table.javaCamelName})]Manager.query[(${table.javaTableName})]([(${table.javaCamelName})], pageIndex, pageSize);        Long totalCount = [(${table.javaCamelName})]Manager.count[(${table.javaTableName})]([(${table.javaCamelName})]);        pageIndex = pageIndex == null?1:pageIndex;        pageSize = pageSize == null?20:pageSize;        return  BaseResponse.assemblePageResponse([(${table.javaCamelName})]s,totalCount,pageIndex,pageSize);    }

    Manager中的代码:

    public List queryItem(ItemDO item, int pageIndex , int pageSize);

    模板:

        public List query[(${table.javaTableName})]([(${table.javaTableName})]DO [(${table.javaCamelName})], int pageIndex , int pageSize);

    ManagerImpl中的代码:

    @Overridepublic List queryItem(ItemDO item, int pageIndex , int pageSize){        Page page = new Page(pageIndex,pageSize);        ItemQC qc  = new ItemQC();        qc.setPage(page);        BeanUtils.copyProperties(item,qc);        List items = itemMapper.listItems(qc);return items;    }

    模板:

    @Override    public List query[(${table.javaTableName})]([(${table.javaTableName})]DO [(${table.javaCamelName})], int pageIndex , int pageSize){        Page page = new Page(pageIndex,pageSize);        [(${table.javaTableName})]QC qc  = new [(${table.javaTableName})]QC();        qc.setPage(page);        BeanUtils.copyProperties([(${table.javaCamelName})],qc);        List [(${table.javaCamelName})]s = [(${table.javaCamelName})]Mapper.list[(${table.javaTableName})]s(qc);return [(${table.javaCamelName})]s;    }

    Mapper中的代码:

    @SelectProvider(type = ItemProvider.class)    List listItems(ItemQC itemQC);

    模板:

    @SelectProvider(type = [(${table.javaTableName})]Provider.class)    List list[(${table.javaTableName})]s([(${table.javaTableName})]QC [(${table.javaCamelName})]QC);

    Provider中的代码:

    public String listItems(ItemQC itemQC){        SQL sql = new SQL() {{            SELECT(TABLE_FIELDS);            FROM("item");        }};        MapperUtils.richWhereSql(sql, itemQC);return sql.toString();    }

    模板:

    public String list[(${table.javaTableName})]s([(${table.javaTableName})]QC [(${table.javaCamelName})]QC){        SQL sql = new SQL() {{            SELECT(TABLE_FIELDS);            FROM("[(${table.javaCamelName})]");        }};        MapperUtils.richWhereSql(sql, [(${table.javaCamelName})]QC);return sql.toString();    }

    这样我们从前到后看过来,发其实都是围绕着一个关键词在走: Item , 有时候把他变成大写的,有时候把他变成驼峰命名,有时候把他加个DO后缀,有时候把他加个Mapper后缀.

    生成文件到对应目录中

    在上篇文章中,我们只是生成了对应的字符串,但是在实际开发中,我们是需要生成文件的,最好是能在对应文件夹中.所以这就有两步,1是生成文件.2是找到对应文件夹

    生成对应文件

    生成文件这个应该是很简单的,直接一句代码搞定:

    Files.write(Paths.get(pathMap.get("model")+tableInfo.getJavaTableName() + "DO.java"),model.getBytes());Files.write(Paths.get(pathMap.get("mapper")+tableInfo.getJavaTableName() + "Mapper.java"),dao.getBytes());Files.write(Paths.get(pathMap.get("provider")+tableInfo.getJavaTableName() + "Provider.java"),provider.getBytes());Files.write(Paths.get(pathMap.get("manager")+tableInfo.getJavaTableName() + "Manager.java"),manager.getBytes());Files.write(Paths.get(pathMap.get("managerImpl")+tableInfo.getJavaTableName() + "ManagerImpl.java"),managerImpl.getBytes());            Files.write(Paths.get(pathMap.get("controller")+tableInfo.getJavaTableName() + "Controller.java"),controller.getBytes());

    输出到对应文件夹中

    这一步,就要我们明确,我们的每个文件是放在什么地方在,如Mapper/Provider是查询数据库用的, 我们把他放在business-impl模块中的dao文件夹中,下面小刀把自己项目中放的位置列出来和大家分享下,大家有好的想法可以一起交流:XXXDO放在 business 模块中 models.dos文件夹中XXXController 放在admin 模块中 controller 文件夹中XXXManager 放在business模块中 business文件夹中XXXManagerImpl 放在business-impl模块中 business.impl文件夹中XXXMapper/XXXProvider 放在 business-impl模块中 dao 文件夹中这样我们就可以用代码去定位到对应的文件夹中了:

    // 获得当前项目的文件夹String currentDir  = System.getProperty("user.dir");            currentDir=currentDir.substring(0,currentDir.lastIndexOf("/"));            pathMap.put("model",currentDir);            pathMap.put("mapper",currentDir);            pathMap.put("provider",currentDir);            pathMap.put("manager",currentDir);            pathMap.put("managerImpl",currentDir);            pathMap.put("controller",currentDir);//如果设置了自动路径,就YY一下路径if(autoFilePath){                Files.list(Paths.get(currentDir)).forEach(file->{if(Files.isDirectory(file)){String fileName = file.toString();if(fileName.endsWith("admin")){                            pathMap.put("controller",fileName+"/src/main/java/"+packageName.replaceAll("\\.","/")+"/admin/controller/");                        }if(fileName.endsWith("business")){                            pathMap.put("model",fileName+"/src/main/java/"+packageName.replaceAll("\\.","/")+"/models/dos/");                            pathMap.put("manager",fileName+"/src/main/java/"+packageName.replaceAll("\\.","/")+"/business/manager/");                        }if(fileName.endsWith("business-impl")){                            pathMap.put("managerImpl",fileName+"/src/main/java/"+packageName.replaceAll("\\.","/")+"/business/manager/impl/"+domainName+"/");                            pathMap.put("mapper",fileName+"/src/main/java/"+packageName.replaceAll("\\.","/")+"/dao/"+domainName+"/");                            pathMap.put("provider",fileName+"/src/main/java/"+packageName.replaceAll("\\.","/")+"/dao/"+domainName+"/");                        }                    }                });            }

    这样我们就可以做到,把增删改查从controller到dao直接一键生成到对应文件夹啦,只要把表建好,剩下的事就一步搞定啦

    最后说两句

    这个工具一般是做后台管理页面,增删改查的时候用, 业务逻辑不建议用工具类生成,业务逻辑一般是提供dubbo接口出来,不要直接把manager中的增删改查提供出去,提供出去的一定是要先有业务,再有接口,然后在serviceImpl中调用manager去完成业务逻辑大家有什么想法,欢迎留言或者加小刀微信: best396975802

    展开全文
  • 文章目录知识资源共享,一起交流怎么学习高效开发一、什么是MybatisPlus?二、MybatisPlus有什么特性?三、支持的数据库?四、引入maven依赖五、配置数据库5.1 dao层接口的实现(继承BaseMapper<对象>)5.2 ...
  • // TODO 自动生成的方法存根 Scanner sc=new Scanner(System.in); System.out.println("请输入你的生日:例如1949-10-01"); String bir=sc.nextLine(); String year=bir.substring(0,4); String month=...
  • 刚开始用eclipse编写Java代码时,虽然感觉它比记事本好多了,但是有时候它自动生成的结尾(如各种括号的另一端和html的各种</>结尾)令我很烦恼,因为经常需要我输入以覆盖掉或者动用鼠标,感觉这就有所违背它...
  • 这是07年11月发在csdn blog里的,隔得时间太长,都记不清是怎么回事了,那时什么也不懂,所以写的很垃圾。。。 :cry: 分页控制器(可能是这个名字),是仿主流论坛的分页做的,JS输入页码,半年前做着玩的的,...
  • 引言:最近的一个项目,由于数据库表巨多,导致需要创建N多个java实体、dao、mapper.xml映射文件,如果均使用纯手工编写,无疑需要耗费大量时间和精力。于是上网学习了mybatis generator的使用。现在项目写完了,...
  • // 2008年11月27日:更新模板之后时间无需自动填充 for (int i = 0; i ; i++) { if (i == 0) { targetcontent = replaceRTF(sourcecontent, array[i], i); } else { targetcontent = replaceRTF...
  • 使用EditPlus对于语言代码格式自动生成,省去了我们很多不必要的时间,且其具有小巧,省内存的优势,对于我们平时编写一些简单的Java程序很有帮助,下面小编就为大家介绍下如何配置EditPlusJava环境编辑,使其可以...
  • EdltPlus是一款不错的Java代码编辑器,使用EditPlus对于语言代码格式自动生成,省去了我们很多不必要的时间,且其具有小巧,省内存的优势,对于我们平时编写一些简单的Java程序很有帮助,下面小编就为大家介绍下如何...
  • Spring Boot项目利用MyBatis Generator进行数据层代码自动生成 初探Kotlin+SpringBoot联合编程 Spring Boot优雅编码之:Lombok加持 Spring Boot应用监控实战 Spring Boot应用部署于外置Tomcat容器 Spring Boot热部署...
  • Java从入门到超神

    2020-09-09 16:10:35
    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录...前段时间,老弟想学习Java,然后问我Java怎么怎么安装,我远程指导了半天他还是一头雾水,他搞不清楚,什么是JRE,JDK,IDE,以及如何去网上检..
  • 终于到了“啥也不干躺在家就能给社会做贡献”的时候,但有梦想的测试人从不会让自己的生活变得无聊!与其宅在家里数瓜子壳,还不如利用整块时间提升测试开发技能!...模板文件生成运行命令java -j...
  • Java程序员面试宝典pdf

    热门讨论 2013-02-21 13:06:13
    面试题042 字符串字面量是否自动生成一个String对象 68 面试题043 字符串对象池的作用是什么 69 面试题044 StringBuffer和StringBuilder存在的作用是什么 71 面试题045 如何输出反转过后的字符串 72 面试题046 如何...
  • java时间戳 10位和13位

    千次阅读 2019-05-15 18:09:51
    最近遇到一个比较头疼的问题,语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13...
  • java如何实现定时的终止

    千次阅读 2018-08-13 18:09:01
    现在有这么个需求 生日祝福短信定时发送 我的想法是:将每条记录都动态的生成一个定时器,到了时间自动触发,但是我想取消怎么办,怎么去指定这个定时器去取消...
  • java 面试题 总结

    2009-09-16 08:45:34
     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...
  • 17、Java怎么读取文件和写入文件 65 18、java怎么复制文件 68 19、用JDBC如何调用存储过程 69 20、JDBC中的PreparedStatement相比Statement的好处 71 21、写一个用jdbc连接实例。 71 22、ArrayList和Vector的区别? ...
  • 写了一个简单的小学数学算数程序,自动生成指定数目的十以内加减法,想改成一个简单的Applet应该从哪下手?输入框应该怎么来写? ``` import java.util.Scanner; import java.text.DecimalFormat; public class ...
  • 邀请码管理:生成邀请码、邀请码数据维护 广告管理:侧边栏独占展位维护 其他管理:发帖/回帖开关;用户开放/关闭/邀请码注册开关 开放的内容 API Sym 提供了 API 进行帖子、回帖的同步(B3log 构思),目前 ...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 好长时间没有写文章了,上次写文章已经是两...
  • 最近做即时通讯,要在openfire上开发插件保存离线文件。...由于可能有多个离线文件,所以我打算循环输出多个... // TODO 自动生成的 catch 块 e.printStackTrace(); } return islist.get(1); }`` ```
  • sql是自动生成, 数据库中的字段为TIMESTAMP类型 时间格式变成了12-MAY-18 10.05.25.861000 PM 实在是太丑了。这个时间格式怎么调整? 只要指成TemporalType.TIMESTAMP,数据库字段类型性就是TIMESTAMP 指定成...
  • 最近遇到一个比较头疼的问题,语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13...
  • java 里有一个叫 maven 的包管理工具, go 也有一个叫 go mod 的管理工具,可以管理项目引用的第三方包版本、自动识别项目中用到的包、自动下载和管理包。 怎么用? 找到你的项目,直接执行 go mod init main.go ...
  • 今天接触SSM框架的第四天,后台Mybatis生成dao、entity和mapper后,测试成功,能够正常读写数据库了,但是,在加入页面之后,通过controller不能实现页面的跳转,特求助~~ 访问情况: ![图片说明]...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...
  • /** 创建时间,系统自动生成;无法修改 */ @Temporal(TemporalType.TIMESTAMP) @Column(nullable=false,updatable=false) private Date createDate; /** 用户角色关联 */ @ManyToMany(fetch=FetchType...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

java时间怎么自动生成

java 订阅