Java实体类中又包括List<实体类>增删改查的代码编写

java实体类 同时被 2 个专栏收录
1 篇文章 0 订阅

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>
    
  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

小菜鸡的代码之路

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值