Java包的命名规则
- util:对应英文utility(实用工具),一般存放工具类,就像java.lang.util包一样存放着各种各样的工具类方便你编程,这里你可以放自己写好的工具类为自己的程序提供方便。
- business:一般存放业务类,处理程序业务的功能类就放在这里。
- control:一般存放控制类,后台控制的一些类就放在这里,例如J2EE里的Servlet。
- dao:对应英文Data Access Object,数据访问对象,一般存放与数据库(文本、Excel等)打交道的类,只关心数据库的增删改查。
- vo:对应英文Value Object,值对象,一般存放实体(Model)。
driver:一般存放驱动类,一般显示菜单,调用dao等包中的方法来驱动程序。一般拥有在其中使用方法的主方法。
部分代码示例
### vo包中
```
package vo;public class Student
{
private String id;
private String name;
private String gender;
private float java;
private float english;
private float math;
private float totalScore;
private float average;
}
```### driver包中:
package driver; public class Driver { //存放目前集合中的学生信息 public static List<Student> list=new ArrayList<Student>(); public static void main(String args[]) { int choice=menuChoice(); while(choice!=7){ switch(choice) { case 1:importFromExcel();break; case 2:importFromTxt();break; case 3:inputFromKeyboard();break; case 4:queryStudent();break; case 5:exportToExecel();break; case 6:exportToTxt();break; default:System.out.println("无效的选择"); } choice=menuChoice(); } System.out.println("程序成功退出"); System.exit(0); } public static int menuChoice() { System.out.println("====学生成绩管理系统====="); System.out.println("1. 从excel中加载数据"); System.out.println("2. 从文本文件加载数据"); System.out.println("3. 键盘输入"); System.out.println("4. 成绩查询"); System.out.println("5. 输出到excel文件"); System.out.println("6. 输出到纯文本文件"); System.out.println("7. 退出"); System.out.println("请输入选项:"); Scanner scan=new Scanner(System.in); int choice=scan.nextInt(); return choice; } public static void importFromExcel() { /* * 调用dao中的方法 */ StudentDAO dao=new StudentDAO(); String fileName="c:/data/student.xls"; List<Student> list1=dao.ReadFromExcel(fileName); //dao中的方法 list.addAll(list1); //将list1集合中的数据增加到list集合中 System.out.println("成功从excel中导入"+list1.size()+"个学生"); } }
### dao包中:
package dao; public class StudentDAO { // 实现读学生文件,将读出的信息存放于student集合中 public List<Student> ReadFromExcel(String fileName) { List<Student> list = new ArrayList<Student>(); File file = new File(fileName); try { InputStream in = new FileInputStream(file); Workbook wb = Workbook.getWorkbook(in); Sheet s = wb.getSheet(0); for(int i = 1; i < s.getRows(); i++) //第一行不要 { Cell[] row = s.getRow(i); Student student = new Student(row[0].getContents(), row[1].getContents(), //填充数据 row[2].getContents(), Float.parseFloat(row[3].getContents()), Float.parseFloat(row[4].getContents()), Float.parseFloat(row[5].getContents())); //由于读取的数据全部都是String 类型所以要转换成Float类型 student.setTotalScore(student.getEnglish()+student.getJava()+student.getMath()); student.setAverage(student.getTotalScore()/3); list.add(student); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; }