Java实体类:是指与数据库中相对应的表,成一一对应关系,实体类中的字段包括字段名和字段类型,往数据库中存的是字段值单个的。业务复杂的情况下,需要实体类中还要包含List<实体类>,举例来说,问题表中有问题Id,题目标题,题目类型,题目内容,关键点就在这里题目内容,题目内容中又包括题目编号、题目内容,前端返回的是List<实体类>,这个实体类就需要单独写一个(属性与属性值包括题目编号与题目内容)简单来说比如有单选、多选、判断题,出题的人肯定要写题目内容,比如选项1、选项2,等等,这些就是题目内容,题目内容与题号就是一个实体类,也就是实体类中又有实体类。前端传过来的数据是List 然而往数据库中存数据的时候不可能将list存入到数据库中,肯定要将list这个集合进行遍历,拿出其中的题题编号与题目内容,之后再存到数据库,存的时候也有些复杂,将两个数据内容拼接成一个字符串,[1@一年一度];[2@一年三度];这就是根据[ @ 拼接成一个字符串存入到数据库中。当然有存就有取,a实体类:是指与数据库中相对应的表,成一一对应关系,实体类中的字段包括字段名和字段类型,往数据库中存的是字段值单个的。业务复杂的情况下,需要实体类中还要包含List<实体类>,举例来说,问题表中有问题Id,题目标题,题目类型,题目内容,关键点就在这里题目内容,题目内容中又包括题目编号、题目内容,前端返回的是List<实体类>,这个实体类就需要单独写一个(属性与属性值包括题目编号与题目内容)简单来说比如有单选、多选、判断题,出题的人肯定要写题目内容,比如选项1、选项2,等等,这些就是题目内容,题目内容与题号就是一个实体类,也就是实体类中又有实体类。前端传过来的数据是List 然而往数据库中存数据的时候不可能将list存入到数据库中,肯定要将list这个集合进行遍历,拿出其中的题题编号与题目内容,之后再存到数据库,存的时候也有些复杂,将两个数据内容拼接成一个字符串,[1@一年一度];[2@一年三度];这就是根据[ @ 拼接成一个字符串存入到数据库中。当然有存就有取,到数据库中就要取数据了,取也就是查询数据,查询也分条件查询和通过id获取详情,先说通过id 查询,也就是要前端传过来id,重点是给前端返回数据的时候,将我们存到数据库中的字符串[1@一年一度];[2@一年三度];,要进行转化之后,字符串的分割,也就是要进行循环遍历,取出其中的题目编号和选项内容,存入List<实体类中>,将list返回给前端。接下来就是修改了,修改要将问题与问题内容显示在页面上,用户修改完毕后插入到数据库中,本质还是添加问题,前端修改完毕后,将数据传送过来,传过来的还是List<实体类>集合。还是需要和添加一样的操作,继续将LIst进行循环遍历取出其中的值,之后进行字符串的拼接,存入到数据库中。接下来说的就是删除操作,在数据量这么的时代中,有用的数据多之珍珠,但是没用的数据也多如沙子,数据的删除肯定要单个删除和批量删除都有,这个简单就需要sal语句控制,mybatis操作。
下面展示代码
这就是实体类中在加入实体类并加入她的getset方法。
private List<SurveyQuestionitemValParam> itemvalList = new ArrayList<>();
通过ID获取详情 主要代码 操作的就是实体类中的List实体类。
List<SurveyQuestionitemValParam> itemvalList = surveyQuestionitem.getItemvalList();
if(CollectionUtils.isEmpty(itemvalList) || itemvalList==null){
return AjaxResult.error("选项内容不能为空");
}
String str="";
int i = 1;
for(SurveyQuestionitemValParam itemval : itemvalList){
itemval.setValSeq((i)+"");
i++;
str = str + "["+itemval.getValSeq()+"@"+itemval.getValName()+"];";
}
surveyQuestionitem.setItemval(str);
return toAjax(surveyQuestionitemService.insertSurveyQuestionitem(surveyQuestionitem));
批量删除 Controller
public AjaxResult remove(@PathVariable String[] questionIds)
{
return toAjax(surveyQuestionitemService.deleteSurveyQuestionitemByIds(questionIds));
}
对应的sql语句
<detele id="deleteSurveyQuestionitemByIds" parameterType="String">
update survey_questionitem where question_id in
<foreach item="questionId" collection="array" open="(" separator="," close=")">
#{questionId}
</foreach>
</delete>