bug总结问题集和知识点集

目录

  • 一 bug问题集
    • 1. 端口被占用
  • 二 oracle
    • 1. oracle查看版本怎么操作
    • 2. oracle数据库:参数个数无效![在这里插入图片描述](https://img-blog.csdnimg.cn/6a2eebc164f9406c81525371893bbd11.png)
  • 三 mybatis
    • 1. mybatis用注解如何实现模糊查询
  • 四 List
    • 1. 如何判断Java List是否为空?
  • 五 java字符串
    • 1. 如何实现Java字符串去掉双引号的具体操作步骤

一 bug问题集

1. 端口被占用

报错说明:
Web server failed to start. Port xxx was already in use.端口占用问题
解决方案:
A 换一个未被占用的端口,再启动。
B 查看被占用端口的进程。

netstat -aon|findstr 端口号

杀死相关进程即可

二 oracle

1. oracle查看版本怎么操作

A 使用SQL*Plus命令行工具:

  • 打开命令行窗口,并输入sqlplus命令进入SQL*Plus环境。

  • 输入数据库的用户名和密码进行登录。

  • 输入以下SQL语句查询数据库版本:

sql

SELECT * FROM V$VERSION;

  • 执行以上语句后,会显示数据库的版本信息,包括Oracle数据库版本号、主机名、操作系统版本等。

B 使用SQL Developer:

  • 打开SQL Developer工具。

  • 连接到要查询版本的数据库实例。

  • 在连接成功后,可以在“对象浏览器”中找到数据库实例,右键点击并选择“属性”。

  • 在属性窗口中,可以看到数据库的版本信息。

无论使用哪种方法,都可以方便地查看Oracle数据库的版本信息。这些方法适用于大多数Oracle数据库版本,无论是在Windows、Linux还是其他操作系统上。

2. oracle数据库:参数个数无效bug总结问题集和知识点集_第1张图片

bug总结问题集和知识点集_第2张图片

三 mybatis

1. mybatis用注解如何实现模糊查询

在 MyBatis 中使用注解实现模糊查询非常简单,只需要在相应的 SQL 语句中使用 like 关键字即可。以下是实现模糊查询的示例代码:

@Select("SELECT * FROM users WHERE name LIKE '%${keyword}%'")
List<User> findUsersByName(@Param("keyword") String keyword);

上述代码用 @Select 注解指定了查询语句,其中的 ${keyword} 是用于动态替换的占位符,然后用 @Param 注解指定了参数名。在调用该方法时,只需要传入对应的关键字即可,MyBatis 会将其自动拼接到 SQL 语句中。

需要注意的是,由于使用了字符串拼接,存在 SQL 注入的风险,因此建议使用预编译的方式来防止注入攻击。如下所示:

@Select("SELECT * FROM users WHERE name LIKE CONCAT('%', #{keyword}, '%')")
List<User> findUsersByName(@Param("keyword") String keyword);

上述代码使用了 #{} 占位符,并使用 CONCAT 函数来进行字符串拼接,这样就可以有效地防止注入攻击。

四 List

1. 如何判断Java List是否为空?

A 使用isEmpty()方法
Java List是一种常用的数据结构,如果我们需要判断一个List是否为空,最简单的方法就是使用isEmpty()方法。这个方法会返回一个boolean类型的值,如果List为空,返回true;如果List不为空,返回false。

List<String> list = new ArrayList<>();
if(list.isEmpty()) {
    System.out.println("List为空");
} else {
    System.out.println("List不为空");
}

B 使用List的size()方法
除了使用isEmpty()方法外,我们也可以使用List的size()方法来进行判断。size()方法会返回List包含的元素的数量,如果数量为0,就说明List为空。

List<String> list = new ArrayList<>();
if(list.size() == 0) {
    System.out.println("List为空");
} else {
    System.out.println("List不为空");
}

C 使用Objects.isNull()方法
如果我们使用Java 8以上的版本,我们也可以使用Objects.isNull()方法来进行判断。这个方法会判断一个对象是否为null,如果是null,就返回true;否则返回false。

List<String> list = null;
if(Objects.isNull(list)) {
    System.out.println("List为null");
} else {
    System.out.println("List不为null");
}

D 判断List的第一个元素是否为null
通常情况下,我们如果需要判断一个List是否为空,就应该使用前面介绍的方法。但是有时候,我们可能会遇到一个特殊情况,就是List不为null,但是第一个元素为null。这时候,如果我们使用前面的方法判断,会得到错误的结果。此时,我们可以先判断List是否为null,然后再判断第一个元素是否为null。

List<String> list = new ArrayList<>();
list.add(null);
if(list == null || list.size() == 0 || list.get(0) == null) {
    System.out.println("List为空");
} else {
    System.out.println("List不为空");
}

上面的例子中,我们首先向List中添加了一个null元素,然后在判断时,先判断List是否为null,再判断List的长度是否为0,最后再判断List的第一个元素是否为null。这样做可以避免在第一个元素为null时得到错误的结果。

五 java字符串

1. 如何实现Java字符串去掉双引号的具体操作步骤

去掉双引号
要去掉Java字符串中的双引号,我们可以使用replaceAll()方法来替换双引号为空字符串。replaceAll()方法接受两个参数:要替换的模式和替换后的字符串。

以下是一个示例代码,演示了如何去掉双引号:

String str = "\"Hello, World!\"";
String result = str.replaceAll("\"", "");
System.out.println(result);

在这个示例中,我们首先定义了一个包含双引号的字符串str。然后,我们使用replaceAll()方法将双引号替换为空字符串。最后,我们打印出结果。

输出结果为:

Hello, World!

注意事项
在使用replaceAll()方法时,需要注意以下几点:

replaceAll()方法将会替换所有匹配的字符串。如果字符串中有多个双引号,它们都将被替换。
注意转义字符。在Java中,双引号是特殊字符,我们需要使用转义字符\来表示它们。

结论
对于如何去掉Java字符串中的双引号。我们使用了replaceAll()方法来替换双引号为空字符串。要注意双引号是特殊字符,需要使用转义字符来表示。

你可能感兴趣的:(bug和知识点集,bug,java)