【Java前后端交互】添加多条数据,参数返回为对象

本文介绍了如何在前端通过数据传输,使用Java的DemoPojo和DemoMapper进行多条DemoDTO对象的批量插入,包括实体类定义、Mapper接口及XML映射,以及Controller层的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端要求一次性添加多条数据,并且返回的不是list集合而是对象。这样我们就要借助数据传输来进行循环反复添加。

像以下这种需要添加多条!

首先实体类DemoPojo,省略封装方法(快速封装Alt+Insert)

public class DemoPojo {

    private int id;


    private String name;


    private double price;


    /**
     *便于循环遍历时来存储想得到的数据
     */
 private List<DemolDTO> demoDTOS = new ArrayList<>();


}

Mapper层,数据接口

public interface DemoMapper{
  
     /**
     * 添加方法
     * @param DemoPojo参数
     * @return 返回int
     */

    int add(DemoPojo demoPojo);

}

Mapper.xml,映射文件,SQL语句

<mapper namespace="com.ssm.demo.Mapper.DemoMapper">

    <resultMap type="com.ssm.demo.pojo.DemoPojo" id="DemoMap">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="price" column="price"/>
    </resultMap>


    <insert id="add" parameterType="com.ssm.demo.pojo.DemoPojo">
            insert into demo
                <trim prefix="(" suffix=")" suffixOverrides=",">
                    <if test="name!= null">
                        name,
                    </if>
                    <if test="price!= null">
                        price,
                    </if>
                </trim>
                <trim prefix="values (" suffix=")" suffixOverrides=",">
                    <if test="usrId != null">
                        #{name},
                    </if>
                    <if test="usrName != null">
                        #{price},
                    </if>
        </trim>
	</insert>
</mapper>

Service层

public interface DemoService{

    /**
     * 添加
     * @param demoPojo参数
     * @return 返回int
     */
    int add(DemoPojo demoPojo);

}

ServiceImpl层,实现接口

@Service
public class DemoServiceImpl implements DemoService{

    @Autowired
    private DemoMapper demoMapper;

    /**
     * 添加
     * @param demoPojo参数
     * @return 返回int
     */
    @Override
    public int add(DemoPojo demoPojo) {
        return demoMapper.add(demoPojo);
    }

}

Controller层,控制层

@RestController
public class DemoController {

    @Autowired
    private DemoService demoService;


    @ApiOperation("添加")
    @PostMapping("add")
    public R add(@RequestBody DemoPojo demoPojo) {
        for (DemoDTO demoDTO : demoPojo.getDemoDTO()) {
            demoPojo = new DemoPojo();
            BeanUtils.copyProperties(demoDTO , demoPojo);
            demoService.add(demoPojo);
        }
        return R.ok();
    }
}

DemoDTO 类,用来数据之间传输的类

public class GoodsSecondaryLabelDTO {


    private String name;


    private double price;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊yoo

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值