一、查询方法(一开始,错误比较多,根据主键查询):getone()
①.No property错误:无法找到deptID的映射(这个deptid必须跟数据库的字段意义对应才行,否则是歇菜的)
jpa屁事最多!类还需要有规定的命令
②.查询出来的结果是null:根据ID查询,查询出来的字段是空的。
发现有问题在这里打断点跑
发现的确 one是其他是Null
然后再去数据库查看,打开数据库会发现多了这三个字段
所以我感觉这里应该修改数据库名字为"_",所以对应的PO类(持久层的类)也要修改为"_"。而不是用我这种驼峰命名,然后成功查询出。
实则在Dao层根本不需要写接口,因为我们继承了JPARepository的接口,直接调用其中的getone()方法,就自动根据主键查询结果了!
二.增加/修改方法:save
操作增加与更新操作,又遇见No property saveByMemID found for type Member! 又是命名规范,save接口的命令规范
调用的是JPARepository的接口, 根本不用自己写接口,报错就是因为自己写了接口,把自己写的接口删去就可以正常运行了!只需要在实现类中写入save方法即可!!!!
然后测试成功
三、通过其他字段查询:findBy+属性+(关键字)
又报错!!!
修改方法名,不可以带"_"
它给我提示用memDeptID,然后修改为他提醒的!!然后成了
为什么要ID会大写呢? 因为数据库中的这个字段与另外一个表有联系的,可见数据库中的id为deptID
四、分页:PageRequest方法
首先在Service写分页接口
然后去实现类,发现readOnly了,
发现根本没有这方法。直接跳过。
出现:'PageRequest(int, int, org.springframework.data.domain.Sort)' has protected access in 'org.springframework.data.domain.PageRequest' 错误
调用of就行了
测试:
成功!!
五、各种类型的算法高频面试题汇总:
https://blog.csdn.net/qq_40262372/article/details/112556249
六.群里已有字节、滴滴、腾讯大佬,可帮忙内推!也欢迎其他大厂的工作人士进群!帮忙内推~
QQ群:725936761