JDBC第二题相似题

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo05g {
    public static void main(String[] args) throws IOException, SQLException {
        FileReader fileReader = new FileReader("input4.txt");//获取数据
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        String line = bufferedReader.readLine();
        //List<Double> doubleList = new ArrayList<>();
        int count = 0;
        double sum = 0;
        List<Emp> empList = new ArrayList<>();
        while (line != null) {

            String[] arr = line.split(" ");
            //doubleList.add(Double.parseDouble(arr[5]));
            sum += Double.parseDouble(arr[5]);
            Emp emp = new Emp(arr[1], arr[2], Integer.parseInt(arr[3]),
                    arr[4], Double.parseDouble(arr[5]), Integer.parseInt(arr[6]));

            empList.add(emp);
            line = bufferedReader.readLine();
            count++;

        }
        for (Emp emp : empList) {
            System.out.println(emp);
        }
        int avg = (int) sum / count;
        System.out.println(avg);

        Connection connection = JDBCUtils.getConnection();
        Collections.sort(empList);
        PreparedStatement preparedStatement=null;
        for (int i = 0; i < empList.size(); i++) {
            String sql = "insert into emp(ename,job,mgr,hiredate,sal,deptno) values (?,?,?,?,?,?)";
            preparedStatement = connection.prepareStatement(sql);
            if(empList.get(i).getSal()<avg){

                preparedStatement.setString(1,empList.get(i).getEname());
                preparedStatement.setString(2,empList.get(i).getJob());
                preparedStatement.setInt(3,empList.get(i).getMgr());
                preparedStatement.setString(4,empList.get(i).getHiredate());
                preparedStatement.setDouble(5,empList.get(i).getSal()+1000);
                preparedStatement.setInt(6,empList.get(i).getDeptno());
                int executeUpdate = preparedStatement.executeUpdate();
                System.out.println(executeUpdate);

            }

        }
        JDBCUtils.close(connection,preparedStatement);

    }
}

将实体类一并写出来
public class Emp implements Comparable<Emp>{
    //private int empno;
    private String ename;
    private String job;
    private int mgr;
    private String hiredate;
    private double sal;
    private int deptno;

    public Emp() {
    }



    public Emp( String ename, String job, int mgr, String hiredate, double sal, int deptno) {
        //this.empno = empno;
        this.ename = ename;
        this.job = job;
        this.mgr = mgr;
        this.hiredate = hiredate;
        this.sal = sal;
        this.deptno = deptno;
    }

    @Override
    public String toString() {
        return
                " " + ename +
                " " + job +
                " " + mgr +
                " " + hiredate +
                " " + sal +
                " " + deptno ;
    }


    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public int getMgr() {
        return mgr;
    }

    public void setMgr(int mgr) {
        this.mgr = mgr;
    }

    public String getHiredate() {
        return hiredate;
    }

    public void setHiredate(String hiredate) {
        this.hiredate = hiredate;
    }

    public double getSal() {
        return sal;
    }

    public void setSal(double sal) {
        this.sal = sal;
    }

    public int getDeptno() {
        return deptno;
    }

    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }

    @Override
    public int compareTo(Emp o) {
        return (int)(this.sal-o.sal);
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值