模块Module管理
删除方法要作判断,判断这条数据是否有子节点(下级部门)
Module
public class Module {
private String moduleId ;
private String parentId ;
private String parentName ;
private String name ;
private long layerNum ;
private long isLeaf ;
private String ico ;
private String cpermission ;
private String curl ;
private long ctype ;
private long state ;
private String belong ;
private String cwhich ;
private long quoteNum ;
private String remark ;
private long orderNo ;
}
TestModuleService
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:spring/applicationContext-*.xml")
public class TestModuleService {
private static final Logger l = LoggerFactory.getLogger(TestModuleService.class);
@Autowired
IModuleService iModuleService;
@Test
public void test01(){
//分页列表
//页面上显示分页列表,就要求业务方法中提供查询PageInfo的方法
PageInfo<Module> pi= iModuleService.findByPage(1,3);
l.info("pi = "+pi);
}
@Test
public void test02(){
//将一个表单数据保存在javaBean中,再将javaBean存到数据库
Module module = new Module();
module.setName("模块1");
iModuleService.saveModule(module);
}
@Test
public void test03(){
//更新业务 先根据id查找出对应的一条记录,编辑它的值,再将记录保存到数据库中
String moduleId="ac213285-9ecb-4a70-a574-519806189405";
Module module = iModuleService.findModuleById(moduleId);
l.info("module="+module);
module.setName("模块A");
iModuleService.updateModule(module);
}
@Test
public void test04(){
//删除业务,就是根据指定的id,删除数据库中的记录
String moduleId="ac213285-9ecb-4a70-a574-519806189405";
boolean flag = iModuleService.deleteModule(moduleId);
l.info("flag=="+flag);
}
@Test
public void test05(){
List<Module> list = iModuleService.findAllModules();
l.info("list == "+list);
}
}
IModuleService
public interface IModuleService {
PageInfo<Module> findByPage(int curr, int pageSize);
void saveModule(Module module);
Module findModuleById(String moduleId);
void updateModule(Module module);
boolean deleteModule(String moduleId);
List<Module> findAllModules();
}
ModuleServiceImpl
@Service
public class ModuleServiceImpl implements IModuleService {
@Autowired
IModuleDao iModuleDao;
@Override
public PageInfo<Module> findByPage(int curr, int pageSize) {
PageHelper.startPage(curr,pageSize);
List<Module> list = iModuleDao.findAll();
PageInfo<Module> pi = new PageInfo<>(list);
return pi;
}
@Override
public void saveModule(Module module) {
String uuid= UUID.randomUUID().toString();
module.setModuleId(uuid);
iModuleDao.save(module);
}
@Override
public Module findModuleById(String moduleId) {
return iModuleDao.findById(moduleId);
}
@Override
public void updateModule(Module module) {
iModuleDao.update(module);
}
@Override
public boolean deleteModule(String moduleId) {
int count = iModuleDao.findParentIdCount(moduleId);
if (count==0){
iModuleDao.deleteById(moduleId);
return true;
}else{
return false;
}
}
@Override
public List<Module> findAllModules() {
return iModuleDao.findAll();
}
}
IModuleDao
public interface IModuleDao {
List<Module> findAll();
void save(Module module);
Module findById(String moduleId);
void update(Module module);
void deleteById(String moduleId);
int findParentIdCount(String moduleId);
}
IModuleDao.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--namespace: 需要映射的Dao接口类型-->
<mapper namespace="com.dsf.dao.system.module.IModuleDao">
<!-- 创建实体类与表字段的映射关系 -->
<resultMap id="moduleMap" type="module">
<id column="module_id" property="moduleId" />
<result column="parent_id" property="parentId" />
<result column="parent_name" property="parentName" />
<result column="name" property="name" />
<result column="layer_num" property="layerNum" />
<result column="is_leaf" property="isLeaf" />
<result column="ico" property="ico" />
<result column="cpermission" property="cpermission" />
<result column="curl" property="curl"