一个项目:查询所有项目并显示

来源:互联网 发布:中秋的数据 编辑:程序博客网 时间:2024/05/24 04:29

项目模块编程实现(MVC)

1)编写实体类:Project (属性名最好与表中字段对应)
2)编写DAO接口:ProjectDao
3)编写DAO接口对应的Mapper:ProjectMapper.xml
4)编写Service接口及实现类:ProjectService,ProjectServiceImpl
5)编写Junit测试
6)编写Controller类:ProjectController
7)编写页面及JS代码

项目模块中项目列表信息的实现

1)编写实体类:Project

   class Project implements Serializable{       private Integer id;       .......   }

2)编写ProjectDao:添加查询方法

   package cn.tedu.ttms.product.dao;   interface ProjectDao{       List<Project> findObjects();   }

3)编写ProjectMapper.xml文件放在dao包内

   <mapper namespace="cn.tedu.ttms.product.dao.ProjectDao">        <select id="findObjects"                     resultType="cn.tedu.ttms.product.entity.Project"          select * from tms_projects        </select>   </mapper>

4)编写ProjectService及实现类并添加findObjects方法

  interface ProjectService{             List<Project> findObjects();   }   class ProjectService implements ProjectService{           @Autowired            private ProjectDao projectDao;            @Override            public List<Project> findObjects() {            List<Project> list=projectDao.findObjects();            return list;            }   }

5)编写单元测试类TestProjectService测试业务数据

public class TestProjectService {    ClassPathXmlApplicationContext ctx;    @Before    public void init(){        ctx=new ClassPathXmlApplicationContext(        "spring-mvc.xml","spring-mybatis.xml");    }    @Test    public void testFindObjects(){        //1.获得ProjectService对象        ProjectService projectService=        ctx.getBean("projectServiceImpl",                ProjectService.class);        //2.执行ProjectService对象的findObjects方法        List<Project> list=                projectService.findObjects();        //3.验证结果是否正确        Assert.assertNotEquals(0, list.size());        //4.输出执行结果        System.out.println(list);    }    @After    public void destory(){        ctx.close();    }

6)编写ProjectController添加相关方法

@Controller@RequestMapping("/project/")public class ProjectController { @Autowired private ProjectService projectService; @RequestMapping("listUI") public String listUI(){   return "product/project_list"; } @RequestMapping("doGetObjects") @ResponseBody public List<Project> doGetObjects(){   List<Project> list=projectService.findObjects();   return list; }}

7)编写页面对应的js代码(参考project_list.js)

$(document).ready(function(){    doGetObjects();})/*获取项目信息*/function doGetObjects(){    var url="project/doGetObjects.do";    //发起异步请求获取服务端数据    $.getJSON(url,function(result){//callback method        //console.log(result);//json对象        //将数据显示在table的tbody位置        setTableBodyRows(result);//map中的key对应的值    });}/*将数据填充在table对象的body中*/function setTableBodyRows(result){//扩展作业     debugger     //1.获得tbody对象     var tBody=$("#tbodyId");     tBody.empty();     //2.迭代数据集result     //for(var i=0;i<result.length;i++){}     for(var i in result){     //2.1构建一个tr对象     var tr=$("<tr></tr>");     //2.2构建每行td对象(一行有多个)     //var td0=$("<td></td>");     //....     //2.3在td对象内容填充具体数据     //td0.append(result[id].id);     //....     var tds="<td><input type='checkbox' name='checkId' value='"+result[i].id+"'></td>"+             "<td>"+result[i].code+"</td>"+             "<td>"+result[i].name+"</td>"+             "<td>"+result[i].beginDate+"</td>"+             "<td>"+result[i].endDate+"</td>"+             "<td>"+(result[i].valid?"有效":"无效")+"</td>"+             "<td><input type='button'  class='btn btn-default' value='修改'/></td>";     //2.4将td添加到tr对象中(一行要放多个)     tr.append(tds);     //2.5将tr追加到tbody中     tBody.append(tr);     }}

日期转换方法

通过js

new Date(Long time).toLocaleDateString

通过JsonSerialize

/**springmvc 在将日期对象转换为字符串时, * 一般默认会转换为长整型,假如我们需要自己 * 定义格式,通常会写一个类继承JsonSerialize,\ * 假如在对象中需要将日期转换为我们需要的格式 * 可以在对应的实体对象的get方法中使用 * @JsonSerialize(using=JsonDateTypeConvert.class) * */public class JsonDateTypeConvert      extends JsonSerializer<Date>{    /**     * @param value 是要转换的日期     * @param gen 为一个json对象生成器     * */    @Override    public void serialize(Date value,JsonGenerator gen,             SerializerProvider serializers)throws IOException,             JsonProcessingException {        //定义日期字符串转换对象        SimpleDateFormat sdf=        new SimpleDateFormat("yyyy/MM/dd");        //将日期转换为指定格式字符串        String dateStr=sdf.format(value);        //将此字符串写入到json对象中        gen.writeString(dateStr);    }//}//