添加課程信息接口:把兩張表的數(shù)據(jù)分別存入數(shù)據(jù)庫(kù)的代碼實(shí)現(xiàn)-創(chuàng)新互聯(lián)

前端傳過(guò)來(lái)一個(gè)表單,表單中包含兩張表,把兩張表的數(shù)據(jù)分別存入數(shù)據(jù)庫(kù)的代碼實(shí)現(xiàn)

網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。成都創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

EduCourse表

EduCourseDescription表,這張表引用 EduCourse的id

首先把表單對(duì)應(yīng)的數(shù)據(jù)庫(kù)字段整合成一個(gè)公共實(shí)體類,這個(gè)實(shí)體類和表單內(nèi)容一一對(duì)應(yīng),但表單的內(nèi)容需要插入不同的數(shù)據(jù)表。

首先根據(jù)表單內(nèi)容創(chuàng)建一個(gè)實(shí)體類

@Data
public class CourseInfoVo {
    @ApiModelProperty(value = "課程ID")
    private String id;
    @ApiModelProperty(value = "課程講師ID")
    private String teacherId;
    @ApiModelProperty(value = "課程專業(yè)ID")
    private String subjectId;
    @ApiModelProperty(value = "課程標(biāo)題")
    private String title;
    @ApiModelProperty(value = "課程銷售價(jià)格,設(shè)置為0則可免費(fèi)觀看")
    private BigDecimal price;
    @ApiModelProperty(value = "總課時(shí)")
    private Integer lessonNum;
    @ApiModelProperty(value = "課程封面圖片路徑")
    private String cover;
    @ApiModelProperty(value = "課程簡(jiǎn)介")
    private String description;
    private String subjectParentId;
}

在controller層把表單實(shí)體類courseInfoVo傳到service層

@Autowired
    private EduCourseService courseService;

    @ApiOperation(value = "添加課程信息")  //swagger提示注解定義在方法上:@ApiOperation
    //添加課程信息
    @PostMapping("addCourseInfo")
    public R addCourseInfo(
            @ApiParam(name = "id", value = "基本課程信息", required = true)
            @RequestBody CourseInfoVo courseInfoVo){
        //調(diào)用service
        courseService.saveCourseInfo(courseInfoVo);
        return R.ok();

    }

來(lái)到service層和數(shù)據(jù)庫(kù)做交互

@Service
public class EduCourseServiceImpl extends ServiceImplimplements EduCourseService {

    //需要課程簡(jiǎn)介表的 service 直接注入進(jìn)來(lái)
    @Autowired
    private EduCourseDescriptionService courseDescriptionService;
    //添加課程信息
    @Override
    public void saveCourseInfo(CourseInfoVo courseInfoVo) {
        //添加課程信息,首先 nwe 一個(gè)edu_Course對(duì)應(yīng)的實(shí)體類,
        EduCourse eduCourse = new EduCourse();
        //將表單對(duì)應(yīng)的實(shí)體類courseInfoVo  copy  到 單表對(duì)應(yīng)的實(shí)體類EduCourse  其中屬性名一樣的屬性會(huì)自動(dòng)復(fù)制
        BeanUtils.copyProperties(courseInfoVo,eduCourse);
        int insert = baseMapper.insert(eduCourse);
        if(insert == 0){
            throw new GuliException(20001,"請(qǐng)檢查您輸入的課程信息");
        }
        //不為空表示添加成功

        //獲取添加成功后的課程信息的 id  走到這一步EduCourse肯定添加成功了
        String cid = eduCourse.getId();
        //添加課程簡(jiǎn)介  
        EduCourseDescription eduCourseDescription = new EduCourseDescription();
        eduCourseDescription.setDescription(courseInfoVo.getDescription());
        //把課程信息eduCourse的 id 放到 簡(jiǎn)介eduCourseDescription的id上
        eduCourseDescription.setId(cid);
        //使用另一張表對(duì)應(yīng)的service將eduCourseDescription保存到數(shù)據(jù)庫(kù)
        courseDescriptionService.save(eduCourseDescription);
    }
}

另外由于eduCourseDescription.setId(cid);這個(gè)id是我們手動(dòng)注入的所有要改變id生成策略

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduCourseDescription對(duì)象", description="課程簡(jiǎn)介")
public class EduCourseDescription implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "課程ID")
    @TableId(value = "id", type = IdType.INPUT)  //type = IdType.INPUT表示這個(gè)ID需要我們手動(dòng)插入
    private String id;

    @ApiModelProperty(value = "課程簡(jiǎn)介")
    private String description;

    @ApiModelProperty(value = "創(chuàng)建時(shí)間")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @ApiModelProperty(value = "更新時(shí)間")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;


}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

新聞名稱:添加課程信息接口:把兩張表的數(shù)據(jù)分別存入數(shù)據(jù)庫(kù)的代碼實(shí)現(xiàn)-創(chuàng)新互聯(lián)
鏈接地址:http://bm7419.com/article22/dpcccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄建站公司、用戶體驗(yàn)、定制網(wǎng)站、微信小程序、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)