I want to load data into a jTable when user searches for some relevant details by entering name (a person can have a first name and a last name). I have used below query and it is not giving me results. Please tell me what's wrong here.
Query - "SELECT id
, personal_id
, first_name
, last_name
FROM person_profile
WHERE first_name
LIKE ?'%' OR last_name
LIKE ?'%';"
public static Profile searchProfileByName(String name) {
Profile profile = new Profile();
try {
Connection conn = DbConnect.getDBConnection();
PreparedStatement pst = conn.prepareStatement("SELECT `id`, `personal_id` , `first_name` , `last_name` FROM `person_profile` WHERE `first_name` LIKE ?'%' OR `last_name` LIKE ?'%';");
pst.setString(1, name);
pst.setString(2, name);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
profile.setId(rs.getString(1));
profile.setPersonalId(rs.getString(2));
profile.setFirstName(rs.getString(3));
profile.setLastName(rs.getString(4));
}
conn.close();
return profile;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}