java 检索数据_在Java中从数据库检索值

我正在制作一个程序,可以从我创建的数据库中检索字段的输入数据/值。但是,当我运行它时,输出始终为null。不知道怎么了 这是我的代码:

import java.sql.*;

public class GuestsInfo

{

private String firstName, lastName;

private int age;

private Connection con;

private PreparedStatement statement;

public GuestsInfo()

{

try {

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/3moronsdb","root","");

} catch (Exception e) {

e.printStackTrace();

}

}

public GuestsInfo(String firstName, String lastName, int age)

{

this();

try

{

statement = con.prepareStatement("Insert into guest(firstName,lastName,age)values(?,?,?)");

statement.setString(1, firstName);

statement.setString(2, lastName);

statement.setInt(3, age);

statement.executeUpdate();

con.close();

}

catch(Exception e)

{

e.printStackTrace();

return;

}

}

public void setFirstName(String firstName)

{

try{

statement= con.prepareStatement("SELECT * FROM guest WHERE firstName = ?");

statement.setString(1, firstName);

ResultSet rs = statement.executeQuery();

while(rs.next()){

firstName = rs.getString(1);

}

}catch(Exception e){

System.out.print(e);

}

}

public String getFirstName(){

return firstName;

}

public void setLastName(String lastName)

{

try{

statement= con.prepareStatement("SELECT * FROM guest WHERE lastName = ?");

statement.setString(2, lastName);

ResultSet rs = statement.executeQuery();

while(rs.next()){

lastName = rs.getString(2);

}

}catch(Exception e){

System.out.print(e);

}

}

public String getLastName(){

return lastName;

}

public void setAge(int age){

try{

statement = con.prepareStatement("SELECT * FROM guest WHERE age=?");

statement.setInt(3, age);

ResultSet rs = statement.executeQuery();

while(rs.next()){

age = rs.getInt(3);

}

}catch(Exception e){

System.out.print(e);

}

}

public int getAge(){

return age;

}

在我的主班我有以下代码:

public class TestMain {

public static void main(String [] args){

GuestsInfo gi = new GuestsInfo();

gi.setFirstName("Ericka");

System.out.println(gi.getFirstName());

}

}

我不知道为什么我运行它时总是说null。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值