Alibaba Fastjson使用日常
json转对象
com.alibaba.fastjson.JSONArray.parseObject(String, Class.class)
对象转json
com.alibaba.fastjson.JSONArray.parseObject(String, Class.class)
当json字段不同时可在对象的字段上加上
@JSONField(name = "T_NAME")
private String name;
mybatis 加控制台输出sql
1.properties文件
//其中com.czhl.training.organization.repository.mapper写自己的mapper文件夹所在位置
logging.level.com.czhl.training.organization.repository.mapper=debug
2.yml文件
logging:
level:
//从此处一次是自己的mapper所在文件夹
com:
elitesland:
heyteaToDms:
dao: debug
eladmin 项目启动报错
//eladmin 项目启动报错
java: Internal error in the mapping processor: java.lang.NullPointerException
at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.java:182)
at org.mapstruct.ap.internal.processor.DefaultVersionInformation.openManifest(DefaultVersionInformation.java:153)
at org.mapstruct.ap.internal.processor.DefaultVersionInformation.getLibraryName(DefaultVersionInformation.java:129)
at org.mapstruct.ap.internal.processor.DefaultVersionInformation.getCompiler(DefaultVersionInformation.java:122)
at org.mapstruct.ap.internal.processor.DefaultVersionInformation.fromProcessingEnvironment(DefaultVersionInformation.java:95)
at org.mapstruct.ap.internal.processor.DefaultModelElementProcessorContext.<init>(DefaultModelElementProcessorContext.java:50)
at org.mapstruct.ap.MappingProcessor.processMapperElements(MappingProcessor.java:218)
at org.mapstruct.ap.MappingProcessor.process(MappingProcessor.java:156)
解决方法:
在 IDEA设置中添加以下文字
-Djps.track.ap.dependencies=false
TK Mybatis 手动提交
TkMybatis及Mybatis_Plus 方法未结束则插入数据就不会提交,导致在同一个方法中执行插入和修改会失败。所以需要手动提交,须自己重写insert方法,在方法上添加事物注解@Transactional,并设置事物配置
public interface SyncReceiveOrderMapper extends Mapper<SyncReceiveOrder> {
@Transactional(propagation= Propagation.REQUIRES_NEW)
int insertSyncReceiveOrder(SyncReceiveOrder syncReceiveOrder);
}
Mabatis-plus 驼峰自动下划线导致字段不存在
解决方法:配置文件添加以下配置
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
Mybatis-plus @Select注解 中使用脚本sql导致报错
Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [/Users/***/Documents/***/target/classes/mapper/api/h2h/F56e0401Dao.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 80; columnNumber: 14; 元素内容必须由格式正确的字符数据或标记组成。
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:576)
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.afterPropertiesSet(MybatisSqlSessionFactoryBean.java:445)
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.getObject(MybatisSqlSessionFactoryBean.java:609)
at com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration.sqlSessionFactory(MybatisPlusAutoConfiguration.java:218)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 112 common frames omitted
Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 80; columnNumber: 14; 元素内容必须由格式正确的字符数据或标记组成。
原因是在@Select注解中使用"<" ">"号导致mapper xml文件解析错误。需要替换成 “< >”