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

开发环境报错

用的 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上运行的结果不一致。因为前面代码中的查询中涉及到了中文,所以要很小心编码问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值