前些天在做项目过程中遇到的最多的就是数据类型之间的转换,例如将List集合转换成实体,或者将Object转换成实体再或者将Object转换成Map等,最开始做这些类型转换的实现着实让我头疼了一番,首先我们前台接收的都是Json熟数据,所以在Controller中需要将上面提到的不同类型全部转换为Json,当然了,我们使用的是底层封装的方法,这里我们用起来非常方便,至于Services成或者Dao层如果想要得到我们需要的数据类型,那么就需要自己进行转换了。
下面我就举例具体介绍一下:
List集合转成List<Map>集合:
查询年级部分:
List listGrade=new ArraryList(); List<Map<Serializable, Serializable>> listGradeName=new ArraryList<Map<Serializable, Serializable>>(); listGrade = gradeBean.queryGradeAll(dataBaseName); for (Iterator iterator = listGrade.iterator(); iterator.hasNext();) { Object object = (Object) iterator.next(); Map<Serializable, Serializable> map = new HashMap<Serializable,Serializable>(); Grade grade =(Grade)object; map.put("gradeName", grade.getGradeName()); listGradeName.add(map); }
将一个list转换成一个实体:
根据学号查询学生信息:
String sql1="select code,name,sex,professionalId,classesId from "+dataBaseName+".tb_student where code='"+Code+"'"; //查出来的数据是一个list<Object>类型的数据,这个数据只有一条信息,因此Object对象的长度为1,但是他有5条属性 List student1=studentEao.queryBySql(sql1); //定义一个实体用来保存从Object对象中查出来的数据,该实体中包括的可用信息有学号、性别、性别 StudentInfo studentInfo1=new StudentInfo();for(int i = 0;i<student1.size();i++){ //obj1中保存的是查询出的对象的属性,因此是5条数据 Object[] obj1 = (Object[])student1.get(i); //将每一个属性放到实体对象中 studentInfo1.setCode(obj1[0].toString()); studentInfo1.setName(obj1[1].toString()); studentInfo1.setSex(obj1[2].toString()); studentInfo1.setProfessionalId(obj1[3].toString()); studentInfo1.setClassesId(obj1[4].toString()); }
将对象包含对象类型转换成对象包含实体类型:
转换成:根据教秘信息查询课程:
我们需要new一个包含需要字段的集合,然后将对象类型转换成map,
List fields = new ArrayList<>(); // 添加要查询的字段 fields.add("courseName"); fields.add("courseCode"); fields.add("id"); // 实例化Object转Map的类
ObjectToMap o2m = new ObjectToMap(); 然后将放回结果转换成list<map>形式: // 调用底层 Hql查询方法 List result =courseEao.queryByHql(findCourseInfo, map, dataBaseName); // 返回序列化的Map形式的List listCourseInfo = o2m.convertToMap(fields, result); 取得list<map>中的值: //取出查询到的考试科目和考试类型 String examinationName=listExaminationNameandType.get(0).get("examinationName").toString(); String examinationType=listExaminationNameandType.get(0).get("examinationType").toString();
以上就是简单的几种数据类型之间的转换,在做项目的过程中我们从数据库中查询到的数据可能是各种不同的类型,我们通常需要转换成自己需要的类型进行我们的显示数据,当然了,其中还有很多不同数据类型之间的转换,这里简单的列举了经常使用的几种。