Java 呃!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(crud操作之一),我想通过线程访问数据库来实现这一点。也许批量更新也可以。谢谢你的回答!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(cru

Java 呃!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(crud操作之一),我想通过线程访问数据库来实现这一点。也许批量更新也可以。谢谢你的回答!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(cru,java,sql,multithreading,spring-boot,Java,Sql,Multithreading,Spring Boot,呃!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(crud操作之一),我想通过线程访问数据库来实现这一点。也许批量更新也可以。谢谢你的回答!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(crud操作之一),我想通过线程访问数据库来实现这一点。也许批量更新也可以。 final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor


呃!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(crud操作之一),我想通过线程访问数据库来实现这一点。也许批量更新也可以。谢谢你的回答!我的问题是,理论上,我会让大约200台机器每秒向我发送一个json格式的请求(crud操作之一),我想通过线程访问数据库来实现这一点。也许批量更新也可以。
    final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(2);
    executor.setMaxPoolSize(2);
    executor.setQueueCapacity(50);
    executor.setThreadNamePrefix("EmployeeThread-");
    executor.initialize();
    return executor;
}
public class EmployeeDaoImpl implements EmployeeDao{

    public EmployeeDaoImpl(NamedParameterJdbcTemplate template) {  
        this.template = template;  
}  
    NamedParameterJdbcTemplate template;  

    @Override
    public List<Employee> findAll() {
        return template.query("select * from employee", new EmployeeRowMapper());
    }
    @Override
    public void insertEmployee(Employee emp) {
         final String sql = "insert into employee(employeeId, employeeName ) values(:employeeId,:employeeName)";

            KeyHolder holder = new GeneratedKeyHolder();
            SqlParameterSource param = new MapSqlParameterSource()
                    .addValue("employeeId", emp.getEmployeeId())
                    .addValue("employeeName", emp.getEmployeeName());
            template.update(sql,param, holder);

    }

    @Override
    public void updateEmployee(Employee emp) {
         final String sql = "update employee set employeeName=:employeeName where employeeId=:employeeId";

            KeyHolder holder = new GeneratedKeyHolder();
            SqlParameterSource param = new MapSqlParameterSource()
                    .addValue("employeeId", emp.getEmployeeId())
                    .addValue("employeeName", emp.getEmployeeName());
            template.update(sql,param, holder);

    }

    @Override
    public void executeUpdateEmployee(Employee emp) {
         final String sql = "update employee set employeeName=:employeeName where employeeId=:employeeId";


         Map<String,Object> map=new HashMap<String,Object>();  
         map.put("employeeId", emp.getEmployeeId());
         map.put("employeeName", emp.getEmployeeName());

         template.execute(sql,map,new PreparedStatementCallback<Object>() {  
                @Override  
                public Object doInPreparedStatement(PreparedStatement ps)  
                        throws SQLException, DataAccessException {  
                    return ps.executeUpdate();  
                }  
            });  


    }

    @Override
    public void deleteEmployee(Employee emp) {
         final String sql = "delete from employee where employeeId=:employeeId";


         Map<String,Object> map=new HashMap<String,Object>();  
         map.put("employeeId", emp.getEmployeeId());

         template.execute(sql,map,new PreparedStatementCallback<Object>() {  
                @Override  
                public Object doInPreparedStatement(PreparedStatement ps)  
                        throws SQLException, DataAccessException {  
                    return ps.executeUpdate();  
                }  
            });  


    }

}
@RestController
@RequestMapping("/postgressApp")
public class ApplicationController {

    @Resource 
    EmployeeService employeeService;

    @GetMapping(value = "/employeeList")
    public List<Employee> getEmployees() {
        return employeeService.findAll();

    }

    @PostMapping(value = "/createEmp")
    public void createEmployee(@RequestBody Employee emp) {
         employeeService.insertEmployee(emp);

    }
    @PutMapping(value = "/updateEmp")
    public void updateEmployee(@RequestBody Employee emp) {
         employeeService.updateEmployee(emp);

    }
    @PutMapping(value = "/executeUpdateEmp")
    public void executeUpdateEmployee(@RequestBody Employee emp) {
         employeeService.executeUpdateEmployee(emp);

    }

    @DeleteMapping(value = "/deleteEmpById")
    public void deleteEmployee(@RequestBody Employee emp) {
         employeeService.deleteEmployee(emp);

    }


}