java - 插入 "Finally"来完成代码

标签 java

我使用 get 和 set 方法在 java 中编写了一个程序....但它没有给我所需的输出,它告诉插入最后 block 我的代码如下所示..在 eclipse 的控制台中它仅显示已连接但没有显示表的值

      package com.glomindz.mercuri.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.glomindz.mercuri.pojo.User;
import com.glomindz.mercuri.util.MySingleTon;

  public class UserServicesDAO {

private Connection connection;

public UserServicesDAO() {
    // connection = new MySingleTon().getConnection();
    connection = MySingleTon.getInstance().getConnection();

}

public List<User> get_all_data() {
    List<User> usersList = new ArrayList<User>();
     String query = "SELECT * FROM spl_user_master";
    try {
         PreparedStatement stmt = connection.prepareStatement(query);
         boolean execute = stmt.execute();
        System.out.println(execute);
        ResultSet resultSet = stmt.getResultSet();
        System.out.println(resultSet.getMetaData());
        while (resultSet.next()) {
            User user = new User();
            user.setId(resultSet.getInt("id"));
            user.setName(resultSet.getString("name"));
            user.setEmail(resultSet.getString("email"));
            user.setMobile(resultSet.getString("mobile"));
            user.setPassword(resultSet.getString("password"));
            user.setRole(resultSet.getString("role"));
            user.setStatus(resultSet.getString("status"));
            user.setLast_udpate(resultSet.getString("last_update"));
            usersList.add(user);
        }
    }
    } 

    public List<User> set_all_data() {
        List<User> usersList = new ArrayList<User>(); 
        try {
             PreparedStatement stmt = connection.prepareStatement("INSERT INTO spl_user_master(name,email,mobile,password,role,status,last_update)VALUES(?,?,?,?,?,?,?)");
             stmt.setString(1, "Charlie Sheen");
             stmt.setString(2, "help@glomindz.com");
             stmt.setString(3, "9554087107");
             stmt.setString(4, "cbf91a71c21d5ec348b0c749b2f0055k");
             stmt.setString(5, "user");
             stmt.setString(6, "3");
             stmt.setString(7, "2013-07-02 22:05:16");


             boolean execute = stmt.execute();
            System.out.println(execute);
            stmt.getResultSet();

        } 

        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    return usersList;
        }


       public static void main(String[] args) {
    UserServicesDAO userdao = new UserServicesDAO();
    List<User> data = userdao.get_all_data();
    List<User> data1 = userdao.set_all_data();
    System.out.println(data);
    System.out.println(data1);
    System.exit(0);
                }
                   }

请说明代码有什么问题

最佳答案

在 java 中,try block 后面必须跟有 catchfinally block 。在您的代码中,您有以下 try block ,后面没有 catch/finally block 。

  try {
         PreparedStatement stmt = connection.prepareStatement(query);
         boolean execute = stmt.execute();
        System.out.println(execute);
        ResultSet resultSet = stmt.getResultSet();
        System.out.println(resultSet.getMetaData());
        while (resultSet.next()) {
            User user = new User();
            user.setId(resultSet.getInt("id"));
            user.setName(resultSet.getString("name"));
            user.setEmail(resultSet.getString("email"));
            user.setMobile(resultSet.getString("mobile"));
            user.setPassword(resultSet.getString("password"));
            user.setRole(resultSet.getString("role"));
            user.setStatus(resultSet.getString("status"));
            user.setLast_udpate(resultSet.getString("last_update"));
            usersList.add(user);
        }
    } // missing catch/finally statements

您可以添加一个 catch block 来处理上述 try block 代码中发生的任何异常,也可以添加一个 finally block 。 try block 的一般构造是

try {
    code
}
catch and finally blocks . . .

在此处了解有关 java 异常处理的更多信息:http://docs.oracle.com/javase/tutorial/essential/exceptions/handling.html

关于java - 插入 "Finally"来完成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718493/

相关文章:

java - 用于处理字符或行尾的正则表达式匹配器

java - Eclipse PreferencePage "Apply"和 "OK"灰显

java - 检查句子是否包含某些单词

java - 构建 openjdk 的 java 部分

java - 无法创建具有特定类的 JAXB 实例

java - GWT DataGrid 中可扩展行的简单示例

java - Struts2 <filter> 和 <filter-mapping> 导致错误

java - Spring Boot 中的多线程 cron 作业

用于计算四分位距的Java api

java - 如何使用 Java 代码打开命令提示符、更改目录并执行命令 (Windows)