【问题标题】:Auto generate id in java and total id count在 java 中自动生成 id 和总 id 计数
【发布时间】:2015-10-28 17:26:27
【问题描述】:

实际上,我在这个问题上遇到了压力。 我有一张图片

所以我在这里遇到了 2 个问题。

  1. 如何插入格式以“T00001”开头的自动生成 ID?
  2. 当我在表格中显示数据时如何计算 ID 总数。

我是 Java MVC GUI 的新成员。任何人都可以帮助我找到一个好的解决方案。 提前致谢

这是我的数据访问对象文件。

封装模型; 导入java.sql.*; 导入 java.util.ArrayList; 导入 javax.swing.JOptionPane;

public class SchoolDAO{
    Conexion conexion;

    public SchoolDAO(){

    conexion = new Conexion();
}


        /////INSERT TEACHER
        public String insertTeacher(String tbno, String tbname, String tbphone, String tbqualification, String tbexp){
    String rptaAdd = null; 
try {
    Connection accessDB  = conexion.getConexion(); 
    CallableStatement cs  = accessDB.prepareCall ("{call teacher_insert(?,?,?,?,?)}");
                  cs.setString(1, tbno);
                  cs.setString(2, tbname);
                  cs.setString(3, tbphone);
                  cs.setString(4, tbqualification);
                  cs.setString(5, tbexp);

    int numFAeffect = cs.executeUpdate();

            if(numFAeffect>0){
                rptaAdd ="Add successful.";
            }
    } catch (Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
}
    return rptaAdd;
}

        public ArrayList<School> listTeacher(){
    ArrayList listaTeacher = new ArrayList();
    School school; 
    try{
    Connection accessDB = conexion.getConexion();
    PreparedStatement ps = accessDB.prepareStatement("select * from teacher");
    ResultSet rs = ps.executeQuery();
    while(rs.next()){
         school = new School();
             school.setTno(rs.getString(1));
             school.setTname(rs.getString(2));
             school.setTphone(rs.getString(3));
             school.setTqualification(rs.getString(4));
             school.setTexp(rs.getString(5));
             listaTeacher.add(school);

            }
        }catch (Exception e){
        }
        return listaTeacher;

    }


    }

【问题讨论】:

    标签: java sql user-interface auto-increment


    【解决方案1】:
    1. 将 ID 作为从序列或其他机制递增的数字发送,这将使您使用“T”+ 左填充字符串自动递增数字到所需的值。

      "T" + StringUtils.leftpad(id + "", 5, "0"); // your ID

    2. 从教师表中选择计数 (*)。

    【讨论】:

    • 感谢您的 cmets。但是使用 Ans1:我在哪里可以在我的程序中插入您的代码?
    • 因此,当您调用 insertTeacher 方法时,您可以使用答案中的行作为teacher_id
    • 其实我只是插入 >CallableStatement cs = accessDB.prepareCall ("{call teacher_insert(\"T\" + StringUtils.leftpad(tbno + \"\", 5, \"0\ "),?,?,?,?)}");无法运行 addfunction 还是必须执行更多操作?
    • 您应该使用新 ID 作为字符串。不要连接 java 代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 2012-04-24
    • 2017-08-25
    • 2013-02-04
    • 2021-10-30
    相关资源
    最近更新 更多