POJO.

 pojo里包含dto,entity,vo

  • pojo指简单的Java对象, 是实体类entity和值对象VO 还有数据传输对象DTO的统称

  • Entity实体类, 通常实体类的属性和表的字段是一致的

  • DTO 数据传输对象, 当客户端给服务器传输参数时, 参数数量可能和实体类的数量不一致,会比实体类的数量要少,比如实体类中有10个属性, 客户端只传递了3个, 这样用实体类接收的话会有7个属性值为null, 使用DTO的好处是所有属性都有值, 只要发现了null则说明出错了 .

  • VO ValueObject值对象, 当从数据库里面查询数据时,有时查询字段数量会比实体类中的属性数量要少, 这样实体类中也会存在大量字段值为null,而且这些null也会从服务器响应给客户端,这样这些null值也会占用流量, VO的作用是查询几个字段在VO里面有存在几个属性, 这样就能避免网络传输时传递null.

  • 总结: 之前接收客户端传递过来数据时使用entity,接收从数据库查询回来的数据使用的也是entity, 以后 接收客户端传递过来的数据使用DTO, 接收从数据库中查询回来的数据使用VO

config.MyBatisConfig

@Configuration
@MapperScan("cn.tedu.weibo.mapper")
public class MybatisConfig {

}

 controller.UserController

@RestController
public class UserController {
    @Autowired(required = false)
    UserMapper mapper;
    @RequestMapping("/reg")
    public int reg(@RequestBody UserRegDTO user){
        System.out.println("user = " + user);
        //通过用户输入的用户名查询对应的数据
        UserVO u = mapper.selectByUsername(user.getUsername());
        //判断如果值不为null 说明用户名已经存在了
        if (u!=null){
            return 2;
        }
        mapper.insert(user);//执行插入数据的操作
        return 1;
    }

    @RequestMapping("/login")
    public int login(@RequestBody UserLoginDTO user){
        UserVO u = mapper.selectByUsername(user.getUsername());
        if (u!=null){
            if (u.getPassword().equals(user.getPassword())){
                return 1;
            }
            return 3;
        }
        return 2;
    }
}

mapper.UserMapper

public interface UserMapper {

    void insert(UserRegDTO user);

    UserVO selectByUsername(String username);


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值