2013-07-17 300 views
0

我的代码,并给出我甲肝创建的用户类也主线程暂停

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")); 

        // print the results 
        System.out.println(user); 
        usersList.add(user); 
       } 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return null; 

} 

public static void main(String[] args) { 
    new UserServicesDAO().get_all_data(); 
} 

}

我得到的输出,只有last_update给我null值。我已经改变了它,但时间戳没有效果......在调试给我的错误:

 
Thread main suspended 
UserServicesDAO.get_all_data() line24 
UserServicesDAO.main(String[]) line56 

什么问题PLZ给我一个解决方案..

+0

你有什么问题?从给定的信息,我们无法确定你真正的问题在哪里。有“例外”吗?它不会产生你想要的结果吗?线程主要挂起的句子在哪里显示? –

+1

这看起来不像一条错误消息。它看起来更像是一个调试器发出的消息,当它在第24行设置的断点处停止时... – Alderath

+0

不要编辑我的答案。编辑你的问题。 –

回答

0

我看到唯一的原因两个用于user.last_update为空:

  1. 它在数据库中为空。检查你的数据。检查一切是否已经提交。检查您是否查询了正确的数据库。
  2. setLast_update()实际上没有设置字段last_update字段。向我们显示User的代码以确认或不完善。

此外,请尊重Java命名约定。

0

我认为问题出在你的数据库上。确保resultSet返回正确的类型。

例如:

resultSet.getInt("id"); 

可能

resultSet.getLong("id"); 

这可以使你烦恼。至少这发生在我身上一次。你应该检查其他字段名称,电子邮件,移动。

另外要小心日期

resultSet.getString("last_update") 

如果数据库“LAST_UPDATE”列类型不是字符串,这也可能会导致您的问题