项目总结

  1. 实体类 有 isEnabled ,如果不写 set、get 方法,用Mapper生成时会获取不到值
    解决办法一:
    /**
     * 是否启用 1:启用  0:禁用
     */
    @get:JsonProperty("isEnabled")
    var isEnabled: Int? = null

解决办法二:

     /**
     * 获取是否启用 1:启用  0:禁用
     *
     * @return is_enabled - 是否启用 1:启用  0:禁用
     */
    public Integer getIsEnabled() {
        return isEnabled;
    }

    /**
     * 设置是否启用 1:启用  0:禁用
     *
     * @param isEnabled 是否启用 1:启用  0:禁用
     */
    public void setIsEnabled(Integer isEnabled) {
        this.isEnabled = isEnabled;
    }
  1. 验证参数时,如果是几个值中取一个,可以这样处理:
@Pattern(
        regexp = "(ASC)|(DESC)",
        message = "must be one of 'ASC' or 'DESC'"
    )
  1. ONLLY_FULL_GROUP BY

对于 group by 聚合操作,如果在 select 中的列,没有在 group by 中出现,那么将认为这个 sql 是不合法的,因为列不在 group by 从句中

具体出错提示:

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

1、查看sql_mode

select @@global.sql_mode

查询出来的值为:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

2、去掉ONLY_FULL_GROUP_BY,重新设置值。

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
  1. 查询列表和分页导出列表时,用下面这个方法:
override fun getAppUserList(sortPagerQuery: SortPagerQuery<AppUserQuery>): ListBean<AppUserBo>? {
           return appUserDoMapper.startPageQuery(sortPagerQuery, {                        appUserDoMapper.selectByParams(sortPagerQuery) })
    }
  1. 注意idea 的提示
    这里写图片描述

后面的值不变,ide推荐使用val

  1. 更改项目的数据库环境
    这里写图片描述

    7.有多个排序条件时,sql语句为:

<if test="sortField!=null">
            ORDER BY ${sortField} ${sortOrder}
        </if>
        <if test="sortField==null">
            ORDER BY u.id DESC
</if>
  1. 提交时,修改git用户名
    这里写图片描述

  2. sso的 sso-core-rpc的UserContextService报错
    这里写图片描述

解决方法:(原因是Maven自动生成的类,但idea没有识别到,进行如下的操作:)
这里写图片描述

  1. QuestionDoMapper.xml里的语句,注释没用,还是会执行(之前遇到过一次,原因不清楚)

  2. maven-version-plugin:
    关于项目版本号的修改,只需在主pom目录下执行:mvn versions:set -DnewVersion=1.0.1-SNAPSHOT,所有主pom和子pom的版本号都会修改,并生成.versionbackup文件,如果确认无误,执行mvn versions:commit命令,.versionbackup会消失,如果有误需要回滚,则执行mvn versions:revert

  3. 同步git 分支代码

    1. 先切换分支
      这里写图片描述

    2. 从 1.1分支同步代码
      这里写图片描述

    3. 把同步后的代码推送到git 服务器
      这里写图片描述

    4. 之后就正常操作

  4. maven 的发布
    这里写图片描述

    或者在控制台输入 :

1. cd aaa-api
2. mvn clean deploy
  1. git新建一个分支(新建分支之前,先把本地未提交的代码提交下)

    1. new branch
      这里写图片描述

    2. 关于项目版本号的修改,只需在主pom目录下执行:mvn versions:set -DnewVersion=1.0.1-SNAPSHOT ( 新版本号),所有主pom和子pom的版本号都会修改,并生成.versionbackup文件,如果确认无误,执行mvn versions:commit命令,.versionbackup会消失,如果有误需要回滚,则执行mvn versions:revert

    3. git push
      这里写图片描述

取application.properties 文件在java 中这样写:
@Value(“${debug}”)
private boolean debug;

在kotlin 中这样写:
@Value(“${debug}”) // 有斜杠转义符
val deubg: Booleanlin 定义常量类:
这里写图片描述

object TestConstant {
//静态变量
const val SELL_PET = “sell_pat”

//静态方法
fun getFileInputStreamForResources(filename: String): InputStream? {
    return this.javaClass.classLoader.getResourceAsStream(filename)
}

}


![这里写图片描述](https://img-blog.csdn.net/20180427102841869?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI2MjAxNTA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

Kotlin校验字符串空值的几个方法:

isNullOrEmpty : 为空指针或者字符串长度为0时返回true,非空字符串与可空字符串均可调用。

isNullOrBlank : 为空指针或者字符串长度为0或者全为空格时返回true,非空字符串与可空字符串均可调用。

isEmpty : 字符串长度为0时返回true,只有非空字符串可调用。

isBlank : 字符串长度为0或者全为空格时返回true,只有非空字符串可调用。

isNotEmpty : 字符串长度大于0时返回true,只有非空字符串可调用。

isNotBlank : 字符串长度大于0且不是全空格串时返回true,只有非空字符串可调用。
“`

在Mysql中,有索引的字段放在第一个

intellij idea 将一个普通项目转换为maven项目: 在pom.xml 文件上右键 Add as Maven Project

合并代码到master分支时,需要建合并请求
这里写图片描述
如果没有对比的两个分支没有冲突,则可以直接创建合并请求;若有冲突,比如V1.5合并到master中,需要在本地先下载V1.5的代码,然后merge
这里写图片描述
对比两个版本的代码,合并完后commit ,push .然后再创建合并请求

删除项目的 .idea 目录后,再次生成的方法:(不要把.idea目录 提交到git, .idea目录是本地环境和生成编译文件的一些配置)
这里写图片描述

升级zx-common:
在终端执行:
1. mvn release:prepare -Darguments=”-DskipTests”
该命令执行后会询问要发布的RELEASE版本号,及接下来要变更的SNAPSHOT版本号,且会给出默认值,一般情况下无需自行指定。
-Darguments=”-DskipTests” 参数可以不加,不加则会先进行单元测试。

该命令用来修改本地代码中的版本号,完成后可以自行对修改做个预览。如需回滚,可以执行下面的命令:
mvn release:rollback
2. 第二步
在终端中执行:
mvn release:perform -Darguments=”-DskipTests -Dmaven.javadoc.skip=true”
该命令会执行实际的发布操作,并发布tag到git仓库。
-Darguments=”-DskipTests” 参数可以不加,不加则会先进行单元测试。
-Dmaven.javadoc.skip=true” 参数可以不加,不加则会一同发布javadoc,请注意如果代码注释格式有问题,处理javadoc时会失败。

合并不同分支代码时,如果提示下面的错误:
这里写图片描述
执行 git add -u 可以解决问题

在nexus上查找项目已经发布的版本:
这里写图片描述
这里写图片描述

vararg : 可变参数,分开更好理解,var:可变的,arg:参数
这里写图片描述

mysql 升级后,不再生成@Id(等mybatis升级后可以解决)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值