遇到的问题

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文件解析错误。需要替换成 “< >”

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值