近几日心得主要包括Spring-boot+Mybatis-plus,前后端接口的约束以及Mysql的使用、理解与学习。
一、Spring-boot+Mybatis-plus
1.表与实体类的一一对应
在代码中定义的实体类的属性值应该与数据库中的字段一一对应,包括数据类型,数据名称。如果没有一一对应,则会报错找不到相应的数据字段。如果在查询时,因为与前端的约定等原因导致查询得到的字段,与实体类中的字段名不同,那么可以使用sql的自定类名,来保证一一对应的关系。
2.对于Mybatis-plus提供的方法的理解
框架为我们提供了众多的关于单表查询的方法,例如:insert,deleteById,updateById,selectById等。我们只需要让我们的mapper继承baseMapper即可直接使用框架为我们提供的这些方法。
3.对于最基本的数据类型的理解
String字符串,在初始化的时候,不可以初始化为null,否则后续不是直接赋值而是调用String提供的方法时汇报空指针异常。
4.LambdaQueryWrapper
这是Mybatis-plus提供的实现查询对象的封装操作类。是Wapper的子类,他所需要的参数全都以lambada表达式的方法引用形式传递。例如:Student::name
二、前后端接口的约束
1.定义的接口文档
在编写后端代码时,前端页面的名字、增删改查的方法名字已经在文档中定义过了,必须按照文档定义的进行,否则对接会出问题。
2.Pojo的理解
(1)dto用来接受前端传过来的对象。对象的属性,根据接口文档中定义的属性进行创建,可以有多个dto对应增删改查所传过来的不同的属性值。
(2)vo用来回传参数,同样参数名称与数据类型根据接口文档进行创建。
三、Mysql
1.涉及多表查询,自写sql语句
首先在mapper接口中定义返回值与方法名,会报错alt+enter自动在mapper.xml中生成格式,这时将自己写好的sql语句放入mapper.xml中即可在service层使用。
2.复合查询
将查询语句的一部分使用select查询替代,从而实现复合查询。
3.SUBSTRING_INDEX分割字符串函数
三个参数,第一个参数为要进行操作的数据,第二个为分隔符,第三个若填证书为获取第几个分割符之后的所有字符,若为负数,则为倒数第几个分隔符之前的所有字符。
四、总结
最近这段时间的收获主要是跟开发流程以及规范相关,在思考一个逻辑之时,先将整个的代码的运转流程搞清楚,然后设计对应的逻辑,最后用代码实现。所有涉及到前端的数据,必须先确定接口文档中的约定,在进行实现。最后就是有关Git工具的使用,上传、拉取分支一定不能错。