且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Java 学习杂记

更新时间:2021-12-16 16:29:19

Java 杂记

mybatis 的查询

mybatis 查询没有数据的时候,会返回什么?

  • 返回类是基本数据类型的包装类型和对象,返回为空 null
  • 返回List或Map时,返回结果时是为空的集合
  • 返回结果是基本数据类型时,没有数据时会抛出异常

Guava 强大的集合工具Lists

Guava的Lists类中提供了许多实用的方法和静态函数,可以帮助我们优雅的编码。

  • 集合分区方法 - partition()
  • 集合转换方法 - transform()
  • 获取笛卡尔积方法 - cartesianProduct()
  • Lists.newLinkedList()
  • Lists.newArrayList();
    参考文档:Guava - 强大的集合工具Lists

maven相关

maven 依赖问题

项目使用maven管理jar包,很容易因为各种原因(网速慢、断网)导致jar包下载不下来,出现很多.lastUpdated文件。这些不完全下载的包,会导致maven不会去远程下载,需要到仓库的目录下去清除。

maven项目pom.xml中scope类型

scope的分类

  • compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去
  • test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
  • runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
  • provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作
  • system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

maven 仓库 repository

参考文档仓库 repository