每日总结-23.3.30

发布时间 2023-03-30 21:14:06作者: lao_bing

学生添加

package wangzhan;

import java.sql.*;

public class Thesql {
    public Connection connect;
    public Thesql()throws Exception
    {
        Class.forName("com.mysql.jdbc.Driver");
        String url="jdbc:mysql://localhost:3306/pddabc";
        String username="root";
        String password="2223640185";
        connect = DriverManager.getConnection(url,username,password);
    }
    public void finalize() throws Exception
    {
        connect.close();
    }

    /*student add
    * 学生增加,将学生信息添加到数据库
    * 1.输入参数为:姓名,性别,班级,专业,院系,密码,头像,签名,手机号码
    * 2.输入参数为:学号,姓名,性别,班级,专业,院系,密码,头像,签名,手机号码
    * */
//    public void stu_add(Pd_stu pdd)
//    {
//    }
    public void stu_add(String year,String name,String sex,String classs,String major,String faculty,String pas,String ava,String signature,String phone) throws Exception
    {
        stu_add(stu_GetNextId(year),name,sex,classs,major,faculty,pas,ava,signature,phone);
    }
    public void stu_add(int id,String name,String sex,String classs,String major,String faculty,String pas,String ava,String signature,String phone) throws Exception
    {
        String sql = "insert into student(stu_id,stu_name,stu_sex,stu_class,stu_major,stu_faculty,stu_pas,stu_ava,stu_signature,stu_phone) values(?,?,?,?,?,?,?,?,?,?);";
        PreparedStatement pre = connect.prepareStatement(sql);
        pre.setInt(1,id);
        pre.setString(2,name);
        pre.setString(3,sex);
        pre.setString(4,classs);
        pre.setString(5,major);
        pre.setString(6,faculty);
        pre.setString(7,pas);
        pre.setString(8,ava);
        pre.setString(9,signature);
        pre.setString(10,phone);
        int count=pre.executeUpdate();
        pre.close();
    }

    /* Get Next Id
    * 自动分配学号时确定下一个学号是什么
    * 输入:年份year(String),返回:下一个学号id(int)
    * 用于stu_add时自动分配学号
    * */
    public int stu_GetNextId(String year) throws Exception
    {
        int IntYear = Integer.valueOf(year);
        int MinId=IntYear*10000,MaxId=(IntYear+1)*10000;
        String sql="select stu_id from student where stu_id between ? and ?";
        PreparedStatement pre = connect.prepareStatement(sql);
        pre.setInt(1,MinId);
        pre.setInt(2,MaxId);
        ResultSet rs = pre.executeQuery();
        int max = MinId;
        while(rs.next())
        {
            int n=rs.getInt(1);
            if(n>max)
                max=n;
        }
        pre.close();
        return (max+1);
    }