所以這裏需要的行是我的問題:不返回所有使用MySQL
我有3個表:
ROLE
:RID,NAMECLIENT
:CID,NAMEUSER
: UID,RID,CID,USERNAME,PASSWORD
下面是SQL語句我寫的:
SELECT USER.UID,USERNAME,PASSWORD,ROLE.NAME, ROLE.RID
FROM USER
INNER JOIN ROLE ON USER.RID=ROLE.RID
WHERE CID=1;
上面的語句只返回1行,實際上應該有2行。
我不明白什麼是不工作。
當我這樣做,我讓我的2行: SELECT * FROM 用戶 WHERE CID = 1;
請注意,我使用spring框架並實現RowMapper。以下是我根據dbase使用字段名稱的實際代碼。
public List<User> viewUserClient(int client_id) {
String sql =
"SELECT USER.ID,USERNAME,PASSWORD,ACTIVE,ROLE.NAME, ROLE.ID FROM USER INNER JOIN ROLE ON USER.ROLE_ID=ROLE.ID WHERE CLIENT_ID=?";
List<User> users = this.getJdbcTemplate().query(sql, new Object[] { client_id }, new UserClientRowMapper());
return users;
}
private static final class UserClientRowMapper implements RowMapper<User> {
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
Client client = new Client();
Role role = new Role();
user.setID(rs.getInt("ID"));
user.setUSERNAME(rs.getString("USERNAME"));
user.setPASSWORD(rs.getString("PASSWORD"));
user.setACTIVE(rs.getBoolean("ACTIVE"));
role.setNAME(rs.getString("NAME"));
role.setID(rs.getInt("ROLE.ID"));
client.setId(rs.getInt("id"));
client.setName(rs.getString("name"));
user.setRole(role);
user.setClient(client);
return user;
}
}
預先感謝您的幫助。
表中包含哪些行數據? – tillerstarr
你可以在表格上添加樣本記錄嗎? –
樣本記錄?含義? – Kiara