上一篇中演示的代码中,有很多重复部分,比如针对每个实体类如StudentInfo、ClassInfo、RoomInfo,都要写逻辑基本上是一模一样的查询、更新、删除、添加方法。既然是重复,那么可以想办法提取规则,精简代码。
猫哥想到的,有两个方向。
第一种,既然读出来的都是数据库表格的内存映射,那么最简单的,我们可以定义一个类如下:
public class Table{ String column1; String column2; ... String columnN。}N的取值比数据库表中列数最多的表的列数再多一点就行。这样不管我们怎么从数据库中联多少表,我们拿出数据之后就按顺序往Table类的column1、column2等变量里面放就行。而删除、修改、增加直接写sql语句就行了,也很方便。
说到这里,其实可以用List
public static void main(String[] args) {//测试 StudentOperation stuOper=new StudentOperation(); List students=stuOper.selectAll(); List<Map<String, String>> table=new ArrayList<Map<String, String>>(); for(Object obj:students){ StudentInfo stu=(StudentInfo)obj; Map<String, String> row = new HashMap<String, String>(); row.put("姓名", stu.getStudentName()); row.put("班级", stu.getStudentClass().getClassName()); table.add(row); } System.out.PRintln(table.toString()); }来看下输出:
[{姓名=火星人, 班级=一年级一班}, {姓名=霸王龙, 班级=一年级一班}, {姓名=赵柳, 班级=一年级二班}]OK,识货的人一看就知道,实在是漂亮,当然我们既然有了List
新闻热点
疑难解答