笔记3
1.查询列表展示各家谱最大代数,代数递增
方式 ①
一个mapper对应一个查询sql
mapper:
/**
* 查询每个家谱对应的最大代数
*/
int selectBaseGenealogySpectrumMaxById(Long familytreeId);
sql:(查出每个家谱最大代数)
<select id="selectBaseGenealogySpectrumMaxById" parameterType="Long" resultType="java.lang.Integer">
SELECT MAX(algebra) FROM base_genealogy_spectrum
WHERE familytree_id = #{familytreeId}
</select>
新增时调用mapper,
int i = baseGenealogySpectrumMapper.selectBaseGenealogySpectrumMaxById(baseGenealogySpectrum.getFamilytreeId());
baseGenealogySpectrum.setAlgebra(Long.valueOf(i+1));
注意:valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。
方式②
直接再查询sql里+1
<select id="selectBaseGenealogySpectrumMaxById" parameterType="Long" resultType="java.lang.Integer">
SELECT IFNULL (MAX(algebra) ,0)+1 FROM base_genealogy_spectrum
WHERE familytree_id = #{familytreeId}
</select>
调mapper
2.select选择器联动
select选择数据联动带出其他数据
① 再需要联动的其他模块写一个无参返回接口
mapper:
/**
* 查询家谱列表数据
*/
List<BaseFamilytree> selectFamilytreeAllList();
xml:
<!-- 查询家谱列表数据 -->
<select id="selectFamilytreeAllList" resultMap="BaseFamilytreeResult">
select * from base_familytree
</select>
service:
/**
* 查询家谱列表数据
*/
List<BaseFamilytree> selectFamilytreeAllList();
impl:
/**
* 查询家谱列表数据
* @return
*/
@Override
public List<BaseFamilytree> selectFamilytreeAllList() {
return baseFamilytreeMapper.selectFamilytreeAllList();
}
controller:
/**
* 查询家谱列表
*/
@PreAuthorize("@ss.hasPermi('base:BaseFamilytree:AllList')")
@GetMapping("/AllList")
public List<BaseFamilytree> AllList()
{
return baseFamilytreeService.selectFamilytreeAllList();
}
② 再前端对应页面调接口
import { AllListBaseFamilytree } from "@/api/base/familytree/BaseFamilytree";
③ select选择器
//BaseFamilytreeList 自定义列表名 familytreeId 家谱id familytreeName家谱名称
<el-form-item label="家谱名称" prop="familytreeId">
<el-select v-model="form.familytreeId" placeholder="请输入家谱名称" clearable>
<el-option
v-for="dict in BaseFamilytreeList"
:key="dict.familytreeId"
:label="dict.familytreeName"
:value="dict.familytreeId"
/>
</el-select>
</el-form-item>
//查询家谱数据
handAllList(){
AllListBaseFamilytree().then(response => {
this.BaseFamilytreeList = response;
});
},
注意:最后在created(){} 里面回调handAllList函数,初始化数据
3.字辈谱-代数处理(查询列表展示代数人数)
//查询每个家谱最大代数,新增一个家谱代数默认+1,代数递增
方式① 一个mapper对应一个查询sql
mapper:
/**
* 查询每个家谱对应的最大代数
*/
int selectBaseGenealogySpectrumMaxById(Long familytreeId);
xml:(查出每个家谱最大代数)
<select id="selectBaseGenealogySpectrumMaxById" parameterType="Long" resultType="java.lang.Integer">
SELECT MAX(algebra) FROM base_genealogy_spectrum
WHERE familytree_id = #{familytreeId}
</select>
新增时调用mapper,
int i = baseGenealogySpectrumMapper.selectBaseGenealogySpectrumMaxById(baseGenealogySpectrum.getFamilytreeId());
baseGenealogySpectrum.setAlgebra(Long.valueOf(i+1));
注意:valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。
方式②
mapper:
/**
* 查询每个家谱对应的最大代数
*/
int selectBaseGenealogySpectrumMaxById(Long familytreeId);
直接再查询sql里+1
<select id="selectBaseGenealogySpectrumMaxById" parameterType="Long" resultType="java.lang.Integer">
SELECT IFNULL (MAX(algebra) ,0)+1 FROM base_genealogy_spectrum
WHERE familytree_id = #{familytreeId}
</select>
在需要的时候调mapper