try-with-resource小demo遇到的一些小问题

xiaoxiao2021-02-28  83

开发环境报错

用的 IDE 是 Intellij-IDEA。

Error:java: Compilation failed: internal java compiler error

解决思路和步骤:

首先尝试了把 project 的 module settings 改一下。

于是右键项目,单击open module settings,把能改的地方都改成java8。

改完这三个地方发现还是报错。

于是想改Intellij-IDEA的全局配置去。

第3个框不要忘了。我最开始忘了修改第三个框,结果还是报错。

修改完上面这些后,环境就OK了。

其实实际开发中,比如要求JDK至少是1.6,那么项目中很有可能是有人用jdk1.6,有人用jdk1.7。版本不一样会引起这个错误。解决方法都是如此。

try-with-resource 遇上 JDBC

public class JdbcTest { public static void main(String[] argc) { try { Class.forName("com.mysql.jdbc.Driver"); try (Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/your_db_name?characterEncoding=utf-8", "your_username", "your_password")){ String sql = "select * from user where username = ? "; try (PreparedStatement ps = connection.prepareStatement(sql)) { ps.setString(1, "王五"); try (ResultSet rs = ps.executeQuery()) { while (rs.next()) { System.out.println(rs.getString("id") + " " + rs.getString("username")); } } } } } catch (Exception e) { e.printStackTrace(); } } }

注意:

注意这里有坑。

红框里面那个设置编码要注意,不然涉及到中文编码,会导致查询结果不对。

小心编码问题

同样的代码,在IDEA-community-2017.2上和IDEA-ULTIMATE-14.1.7上运行的结果不一致。因为前面代码中的查询中涉及到了中文,所以要很小心编码问题。

转载请注明原文地址: https://www.6miu.com/read-39606.html

最新回复(0)