• 宿管系统项目总结


    1.Bean层属性类型尽量与数据库一致,有多种情况可以使用Int,若只有2中情况,如性别,可以用Boolean.

    2.在Dao层中,注意各种方法与数据库值的联系,可以使用conn.setAutoCommit(false)和conn.commit()来设置事务,保证逻辑上的正确性。在从数据库得到数据库时要得到所有属性,包括导航属性所有数据,坚决不能偷懒!

    3.判断字符串是否为空的方法:if(str==null||str.trim().equals("").注意判断是否为空必须写在前面,否则会由于短路原则导致出现逻辑错误。

    4.当使用数据库中的数据进行展示,而非修改时,Date可以使用sql包中的。若需要修改,则需要进行转换成unit包中的。

    5.在使用正则表达式时,需用“^$”进行结尾。

    6.匹配汉字的正则表达式为[u4e00-u9fa5]。

    7.将字符串转换成Int的方法int n=Integer.parseInt(str).注意该方法若str内容不是数字则会出错,此时需用try,catch来避免错误,若无法转换抛出异常。

    8.在使用lovo 张老师做的包时,下拉列表中传的集合可以使用泛型直接传对象进去,然后在其对于的Bean层重写toString方法来得到下拉列表所要的属性。

    eg:private LovoComboBox<ClassBean> classCmb;

    this.classCmb = new LovoComboBox<ClassBean>("班级", cs.getAllClasses(), 20, 200, this);

    然后在Bean层写public String toString(){
        return name;
    }

    9.在java中使用对象序列号与反序列化复制文件方法:

                        File f=new File(headPic.getFilePath());//创建一个原文件对象
                        String str=headPic.getFilePath();
                        char[]chars=str.toCharArray();
                        int l=0;
                        for (int i = chars.length-1; i >=0; i--) {
                            if (chars[i]=='.') {
                                l=i;
                            }
                        }
                        str=str.substring(l+1);//得到文件的后缀名
                        int m;
                        path="head/"+new Date().getTime()+"."+str;//通过拼接得到目标文件的相对路径
                        try {
                            FileInputStream ins=new FileInputStream(f);
                            FileOutputStream out=new FileOutputStream(path);
                            while ((m=ins.read())!=-1) {
                                out.write(m);//读一个,写一个
                            }
                            out.close();
                            ins.close();   

    10.保证无论如何调用业务逻辑层的方法,始终保证数据正确

    11.DeBug模式中的快捷键:

    1):F3  转到定义

    2):F8 让程序继续运行,知道运行到下一个断点。

    3):F6:单步执行(步入)step over,让程序执行完当前断点所在的语句,停在下一条语句

    4):F5:步入(step into) 让程序进入当前断点所在语句中调试的方法

    12.让界面中的表的数据更“正常”,而非数据库中的1,0等的方法:

    private void update(){
            roomTab.updateLovoTable(rs.getRooms());//先跟新表格
            for (int i = 0; i < roomTab.getRowCount(); i++) {//roomTab.getRowCount()得到表格中的行数
                int n=Integer.parseInt(roomTab.getValueAt(i, 4).toString());//将表格的第i行,第4列的值转换成int,注意行和列均从0开始
                if (n==1) {
                    roomTab.setValueAt("正常", i, 4);//对显示的值进行修改
                }
                else {
                    roomTab.setValueAt("损坏", i, 4);
                }
                int m=Integer.parseInt(roomTab.getValueAt(i, 7).toString());
                if (m==1) {
                    roomTab.setValueAt("男生寝室", i, 7);
                }
                else {
                    roomTab.setValueAt("女生寝室", i, 7);
                }
            }
        }

  • 相关阅读:
    0929作业
    0909上机作业
    熟悉的LINUX操作
    博客搭建成功啦!
    感谢管理员,通过了我的博客邀请。哈哈
    Asp.net常用的51个代码(非常实用)
    CSS命名规范:
    常用的JavaScript验证正则表达式
    Linq to sql 查询句法
    Web.config配置文件详解
  • 原文地址:https://www.cnblogs.com/Onedayzk/p/5840283.html
Copyright © 2020-2023  润新知