由于这个查询涉及到的内容较多,我将给出核心的数据库连接和查询代码示例。
// 导入所需的类库
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
@Controller
public class PerformanceController {
// 查询员工绩效信息
@RequestMapping(value = "/getPerformance", method = RequestMethod.GET)
public @ResponseBody String getPerformance(HttpServletRequest request) {
String empId = request.getParameter("empId");
String sql = "SELECT * FROM performance WHERE emp_id = ?";
try (
Connection conn = getConnection();
PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql);
) {
pstmt.setString(1, empId);
ResultSet rs = pstmt.executeQuery();
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
while (rs.next()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", rs.getInt("id"));
map.put("empId", rs.getString("emp_id"));
map.put("kpi", rs.getString("kpi"));
map.put("kra", rs.getString("kra"));
map.put("weight", rs.getInt("weight"));
map.put("score", rs.getInt("score"));
list.add(map);
}
return JSON.toJSONString(list);
} catch (Exception e) {
e.printStackTrace();
return "{\"error\":\"" + e.getMessage() + "\"}";
}
}
// 获取数据库连接
private Connection getConnection() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/your_database_name";
String username = "your_username";
String password