这次项目已经开始写好长时间了,我感觉自己写接口的效率有点低。应该是基本的知识学的不怎么扎实的原因,我在写项目的时候总是遇到好多问题。
这一次我们用了Mybatis-Plus,Mybatis-Plus是一个Mybatis的增强工具。前一段时间我才把用户相关的接口基本上写完,这周写帖子类的时候需要用到联表,Mybatis-Plus好像并没有提供多表操作的方法。原本我想在网上找找有没有办法用Mybatis-Plus实现多表操作,但是找到的我看的不是很懂,后来还是选择用xml文件自己写sql语句。删除,添加,更新这些操作我还是想用Mybatis-Plus实现,然后我就在网上找到了一个注解——@TableField(exist=false),加在bean属性上,表示当前属性不是数据库的字段,这样设置在新增等使用bean的时候,Mybatis-plus就会忽略这个,不会报错。
@Data
public class Post {
@TableId("post_id")
public Integer postId;
public Integer userId;
@TableField(exist=false)
public String userName;
@TableField(exist=false)
public String userHeadshotUrl;
public String postTitle;
public String postContent;
}
在写项目的时候遇到了一个新的关键字——assert(断言),开始的时候对这个关键字很陌生,后来我上网查了一下,才了解到它的用处。assert是jdk1.4中加入的,平时开发中见的很少,不过在一些框架的源码里面的测试类里面会用到。这个关键字可以判断布尔值的结果是否和预期的一样,如果一样就正常执行,否则会抛出AssertionError。这个关键字用起来比较方便,但是它也有弊端。在运行的时候,正常情况下assert是不会生效的,因为运行时assert是关闭的,因为开启assert校验,会损耗一定的性能。如果想要使用assert,必须在VM启动参数中开启。如果在关键部分的校验使用了assert验证,但是忘记开启assert功能,那么可能会造成重大的失误。所以在生产环境很少用到该关键字。
assert followId != null;
if(followId == null){
throw new AssertionError();
}
270

被折叠的 条评论
为什么被折叠?



