1.springdatajpa的扩展–抽取(难点)(听多少算多少)
代码直接拷贝过来使用 – 架构师
抽取一个BaseRepository – 写三个方法
//根据Query拿到分页对象(分页)
Page findPageByQuery(BaseQuery baseQuery);
//根据Query拿到对应的所有数据(不分页)
List<T> findByQuery(BaseQuery baseQuery);
//根据jpql与对应的参数拿到数据
List findByJpql(String jpql,Object... values);
抽取的实现BaseRepositoryImpl实现
让Spring启动的时候,找BaseRepositoryImpl的实现 —>BaseRepositoryFactoryBean可以让spring去找
BaseRepositoryImpl这个实现
2. 抽取Service层(掌握)
IBaseService --> 完成crud 以及三个公共的方法
BaseServiceImpl -->实现IBaseService --》实现对应的方法
EmployeeServiceImpl 继承BaseServiceImpl(具备CRUD 以及公共的查询方法)
3. 集成SpringMVC(掌握)
和之前集成SSJ一模一样的
4. 加入Easyui(掌握)
5 easyui的tree加载(掌握)
easyui树型插件
$("#menuTree").tree({
url:'/json/menu.json',
onClick:function(node){
//添加页签
addTabs(node.text,node.url);
}
});
tab选项卡
function addTabs(text,url){
if(!$("#dataTab").tabs('exists',text)){
//内容
var content = '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:100%;"></iframe>';
//新增
$('#dataTab').tabs('add',{
method:'get',
title: text,
content:content,
closable:true
});
}else{
//选中面板
$("#dataTab").tabs('select',text);
}
}
6完成分页(掌握)
UiPage --》total和rows 总的记录数 页面的数据
EmployeeQuery–>接收前台传递过来数据 page (当前页)/rows(每页条数)
setPage
setRows
7 高级查询(掌握)
页面准备form表单 点击搜索的时候
加载数据
var itsource = {
search:function(){
//怎么完成高级查询 jquery.jdirk.js 这个方法 这是jquery扩展方法
//该方法返回一个 JSON Object,返回对象中的每个数据都表示一个表单控件值。
var param = searchForm.serializeObject();
//发送查询数据库 --加载表格 发送请求 /employee/page
employeeGrid.datagrid('load',param);
},
add:function(){
alert(1);
}
}
在EmployeeQuery里面 写上:
public Specification createSpecification() {
Specification<Employee> spe = Specifications.<Employee>and().
like(StringUtils.isNotBlank(username), "username", "%" + username + "%")
.like(StringUtils.isNotBlank(email), "email", "%" + email + "%")
.eq(departmentId!=null,"department.id",departmentId)
.gt(age != null, "age", age)
.build();
return spe;
}