1.数据库对应Java实体类型
数据库字段类型 | Java实体类型 |
---|---|
int | java.lang.Integer |
Integer (包装类型,可以为为Null) | java.lang.Integer |
varchar (长度可变) | java.lang.String |
char(长度不可变) | java.lang.String |
text (存储可变长度的非Unicode数据) | java.lang.String |
tinyint(可用于枚举) | java.lang.Integer |
bit | java.lang.Boolean |
bigint(长度20) | java.math.BigInteger |
float | kava.lang.Float |
double | java.lang.Doublue |
decimal(不可变的、任意精度的有符号十进制数,可用于银行业务) | java.math.BigDecimal |
id(主键) | java.lang.Long |
date | java.sql.Date |
TIME | java.sql.Time |
DATETIME | java.sql.Timestamp |
TIMESTAMP | java.sql.Timestamp |
2.Java field: private final javax.servlet.http.Part org.springframework.web.multipart.support.StandardMultipartHttpServletRequest
原因:dubbo不能在不同服务间传递MutipartFile,因为MuitipartFile是不可序列化的。 需要转为byte[]。
FastDFS实现文件上传请移步我的另一篇博客:
FastDFS踩坑日记
3.error resolving template解决方案
出现的问题:org.thymeleaf.exceptions.TemplateInputException: Error resolving template “xxx/xxx”, template might not exist or might not be accessible by any of the configured Template Resolvers
原因: 在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式,这种情况下返回的数据thymeleaf模板无法解析。
解决方案:可以将@Controller换成@RestController,不过需要注意有没有其他的方法返回了html页面,会导致返回的不是页面而是字符串;或者使用@Controller和在需要的方法上使用@ResponseBody组合。
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到success.jsp页面的,则其显示success.
2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。