后端常见问题解决

Java

自动类型转换

Java中的自动类型转换是按照从低到高的顺序进行的,即从byte、short、char、int、long、float、double等类型进行转换,如果一个运算符两侧的数据类型不同,则会把低类型的数据转换为高类型的数据,以便进行运算。有时候容易忽略这种小细节

MyBatis

Mybatis Plus时间自动填充

  1. 实体类的时间字段上添加注解
@TableField(fill = FieldFill.INSERT)//用于创建时间create_time字段
@TableField(fill = FieldFill.INSERT_UPDATE)//用于修改时间modified_time字段
  1. 创建一个类实现MetaObjectHandler接口
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
  
    @Override
    public void insertFill(MetaObject metaObject) {
        //第一个参数是实体类中的字段,不是数据库的
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("modifiedTime",new Date(),metaObject);

    }
    
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("modifiedTime",new Date(),metaObject);
    }
}

mybatis的xml因位置的未编译问题

将mybatis的写sql的xml文件放在java目录文件下时,编译时xml文件不会被编译进target文件中
image.png
image.png
可以看到:target目录下的mapper文件下并没有xml文件夹,并且会报错
image.png
解决方法

  1. 将xml文件放在resources资源目录下
  2. pomyml/properties配置文件中添加配置,使得xml能被编译

pom

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

yml

mybatis-plus:
  mapper-locations: classpath:com/lc/eduservice/mapper/xml/*.xml

Maven

mvn install命令

mvn install:install-file -DgroupId=com.abc -DartifactId=mavenTest -Dversion=1.0 -Dpackaging=jar -Dfile=C:\myfile\test.jar

dependency中标签的含义

<dependency>
      <groupId>org.javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.26.0-GA</version>
      <scope>compile</scope>
      <optional>true</optional>
</dependency>

optional,翻译为可选的,默认值为false

项目a依赖项目b,项目b依赖项目c(项目a中引入了b的依赖,项目b中引入了项目c的依赖),然后在项目b中,项目c依赖的<optional>true,则在项目a中,如果不显示的引入项目c,则不会引入项目c,即项目a不依赖项目c,不会形成依赖传递,当项目a需要c依赖的时候,就需要在a中显示的引入了,不然就会报错找不到依赖
image.png

... is not available. Add ... to your classpath.
posted @ 2023-05-09 20:52  Eddie-Lucas  阅读(22)  评论(0编辑  收藏  举报