在杭州某公司 springboot
后端开发岗干了半个月,发现了很多不足,以及一些值得记录的地方。
我在入职的时候,其实在 springboot
方面是算是个小白,只懂一点基础知识,甚至 mybatis 框架都没有上手用过...
先是尝试自己照着模板写,然后看同事的代码修改,现在勉强算是熟练掌握基本的增删改查的接口编写了。
但是,我总是能发现一些新的写法,更加方便更加灵活,但应该对应不同的应用场景,也应该相互结合使用。
# 最开始
最开始,我学会使用 Mybatis
写增删改查,
在 .xml
文件中写 sql
语句:
1 | <select id="function_name" resultType="java.util.Map"> |
或者直接在 DAO
层在函数名上方用 @...
注解:
1 |
|
# 然后
然后,我知道了 MyBatis-Plus
,
可以继承通用 Service 层 IService
和通用 Mapper 层 BaseMapper
,它们集成了相当一部分可用的增删改查函数,直接调用就行,不用写 sql
语句:
1 | public interface ServiceName extends IService<EntityName> {} |
当然,查询中还是要用 QueryWrapper
构建查询语句的:
1 | QueryWrapper<EntityName> queryWrapper = new QueryWrapper<>(); |
# 现在
现在,我知道可以将二者结合使用。
业务逻辑极其简单的时候(比如只需要对多个表查询数据),直接用 xml 或者注解写。
需要实现增删改查的时候,继承 MyBatis-Plus
的通用类。
如果有其他需要实现的函数,在通用类的基础上增加:
- 在
Service
层增加对应的函数 - 涉及到与数据库的交互时,在
Dao
层增加函数
除此之外,还学了些零碎的东西:
-
常量、公共函数,在
Common...
的函数里面写好,然后在用到的时候调用 -
utils
下的函数要仔细看看,里面肯定有开发中要用到的工具包。比如:接口的返回值类型
Result
,文件上传工具类FileUpload
,分页工具类PageUtils
,获取UserId
的UserInfoUtil
...名字可能有所差别,但功能类似,也不用我们自己实现。
-
...
之后,继续学习吧,希望有一天能写出干净简洁的代码。