我使用 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 后面必须跟有 catch
或 finally
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/