每日笔记8.12

mybatis和plus字段自增长配置区别

mybatis

在对应xml文件里,在<mapper>中添加
useGeneratedKeys="true" keyProperty="id"  :启动自增长,对应为Member中的id字段
    <insert id="save" parameterType="Member" useGeneratedKeys="true" keyProperty="id">

    </insert>
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Member implements Serializable {
    private Long id;

sql表中id配置自增长

id BIGINT NOT NULL  AUTO_INCREMENT COMMENT 'id'

comment 'id' 是指 注释

 比如  :NAME VARCHAR(64) COMMENT '用户名'

mybatisplus

只需要加一个注解

@TableId(type = IdType.AUTO)
@Data
@TableName("furn")
public class Furn {
    @TableId(type = IdType.AUTO)
    private Integer id;
}

关于使用restTemplate添加数据但数据库为null时

MemberConsumerController层

以参数或者表单方式发送member

//添加member数据到数据库
@PostMapping("/member/consumer/save")
public Result<Member> save(Member member){

    log.info("service-consumer member = {}",member);

    //member :发送到对应url的数据
    //Result.class :返回数据类型
    return restTemplate.postForObject(MEMBER_SERVICE_PROVIDER_URL
            +"/member/save",member,Result.class);

}

MemberController层

MemberConsumerController层发送member到MemberController层,但在数据库添加时发生空值null问题

因为

        MemberConsumerController层发送member到MemberController层的member数据格式变成json格式,而不是以参数或者表单方式的格式,这时需要加上@RequestBody注解到member。

总结

        restTemplate.postForObject方法会将数据以json格式发送到指定url

@PostMapping("/member/save")
public Result save(Member member){

    log.info("service-provider member = {}",member);

    int save = memberService.save(member);
    if (save == 0){
        return Result.error("401","添加会员失败");
    }else {
        return Result.success("添加会员成功",save);
    }

}

开启 Run Dashboard/Service 

2020.1版本idea启动是在

dependency下的optional配置

<!--    引入模块依赖-->
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <!--optional
            true表示依赖间不传递,
            比如A中有很多dependency ,其中lombok包设置不依赖传递,如果B项目依赖A,则B项目找不到A中的lombok包
            -->
            <optional>true</optional>
        </dependency>
    </dependencies>

如何将自己写的子模块打包

先关闭test,在同时ctrl到clean和install,点绿色的运行按钮 

然后在对应包下就会出现target包,下面就有对应打好的jar

 只需要在其他子模块下pom.xml对应的dependencies下引入

    <!--    引入entity包(自己写的)-->
    <dependency>
        <groupId>com.zyz</groupId>
        <artifactId>common-api</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值