开发过程中遇到的问题解决办法

1、JPA查询更新数据:先查,后save()。然后对查出来的对象进行修改。

jpa中findOne(Retrieves an entity by its id)和getOne(Returns a reference to the entity with the given identifier),

2、restful的接口,对于查询和更新单填数据,把id放在url上

3、Mybatis 中resultType和resultMap的区别。resultType 直接定义的mybatis的返回值的类型。resultMap 是可以自定义返回的类型,字段映射可以自定义。

4、Mybatis时间格式化后需要起别名,否则字段对应不上,返回null。

在mysql中,DATE_FORMAT(date, format) 函数根据format字符串格式化date值

5、数据出错时,先去对应的数据库查看数据是否一致,同时可以开启控制台打印sql,到数据库中查询。

  在mybatisconfig中添加<setting name="logImpl" value="STDOUT_LOGGING"/>。

6、单元测试应该在接口测通的基础上,再测试一些异常值边界值的情况。以防联调时出错。

编写单元测试代码遵守BCDE原则:

边界值测试

普通正常系测试

异常错误系测试

7、代码抽取---当两个对象参数相同时,对这恋歌对象做的事也相同,可以考虑只传参数进去,而不必进行对象传递,这样子进行代码抽取。

8、关于正则表达式:[0-9]{8}  匹配0-9八位数字

  [0-9]*.?[0-9]{1,6}?  匹配金额小数点后6为小数


9、做单元测试的时候,使用Mockito时,如果返回值在代码逻辑里面有用到,那么需要自己模拟这样的一个值来返回,并放在Mockito的返回结果里面。

    把@MockBean加在需要mock的类上。

10、在idea中新建包的时候最好不要使用.来分开层级目录,一层一层的建。

11、使用 @FeignClient 注解实现与 Spring Cloud 服务注册发现注册服务的整合。它实现了客户端负载均衡和服务降级及监控相关的功能。

12、jpa多表查询返回结果如何映射?(映射结果写全路径,结果会自动映射)

eg: @Query(value = "SELECT new com.johnfnash.learn.domain.ViewInfo(u, a) FROM UserInfo u, Address a WHERE u.addressId = a.addressId")

13、jpa中自定义查询语句的时候,from后面可以是具体的表名。也可以是表对应的实体名。要注意如果是表名需要加上nativeQuery = true

@Transient表示该字段是数据库没有的字段

14、mysql 中 STR_TO_DATE('16/11/2020', '%d/%m/%Y')会自动把字符串转成2020-11-16,类型为日期类型。(不需要考虑转换后的日期格式)

15、java类是单继承的。classB Extends classA

java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……

16、@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名。(最早的spring的bean注入的xml文件需要定义<bean>)。

spring5.0 之@Primary注解的应用

在spring容器中,如果同一个类型有多个实例,但我们需要注入一个的时候,我们必须采取措施,不然spring容器会报错:....required a single bean, but 2 were found:.........

有时候我们能保证同一个类型在spring容器中只有一个实例,有时候我们保证不了,此时不讨论by name注入。这个时候@Primary注解就非常重要了。

17、Spring的BeanUtils.copyProperties()  org.apache.commons.beanutils.BeanUtils  用法:BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。

18、关于子类无法访问父类protected属性和方法的问题。

19、https://blog.csdn.net/Norte_L/article/details/80250057

20、联调,远端debug,

21、一个对象

22、类型转换(看后面) Father father = new Son();  Son son = (Son)father;(对)

Father father = new  Father();Son son = (Son) father;(错)

23、java8 ::用来访问对象方法

24、Spring框架 boolean类型命名is开头会引起序列化错误

25、getResourceAsStream有以下几种:

1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从

ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。

2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。

3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓。

26、记录一个Pagehelper的深坑

在使用Pagehelper写程序时遇到一个问题,在数据很多的表里使用这个分页一开始是没有问题的每页的数据都能显示,但是在数据比较少的表中使用Pagehelper进行分页时就出问题了 不管页码超出多少一直都会返回数据,无论怎么修改都不行 头都大了,最后在一个大神的帖子中找到了问题,具体说明如下:

导致该问题的原因是pageHelper里面自带的一个功能,叫做reasonable分页参数合理化

在下用的SpringBoot下面贴出yml配置

pagehelper:

  helperDialect: mysql

  reasonable: true

  supportMethodsArguments: true

  params: count=countSql

就是上文中的“reasonable”属性导致的

当reasonable:true时在pageNum<1会查询第一页,如果pageNum>pages会查询最后一页

也就是说当pageNum>你的最大页数时会返回最后一页的数据而不是返回null

禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据

所以如果不希望这种情况则需要设置reasonable:false

27、清空表数据的时候报1701错误(外键约束)

Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。

解决方法是:

1、首先取消外键约束:SET FOREIGN_KEY_CHECKS=0;

2、修改表数据或表结构

3、然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;


(记录日常遇到的开发问题)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容