1. 程式人生 > >Mybatis+Thymeleaf開發遇到的幾個問題筆錄

Mybatis+Thymeleaf開發遇到的幾個問題筆錄

我的開發工具是IntelliJ IDEA,然後在SpringBoot整合Mybatis,前端用模組引擎Thymeleaf的過程中遇到幾個問題,不過也花了點時間,現在記錄下來,作為筆記記錄。

Invalid bound statement異常

開發中經常遇到,下面給出我的兩種方法
Invalid bound statement (not found):
①Mapepr.xml檔案中文nameapce沒有和mapper介面發生對映
②有可能是在IDEA編輯器執行的專案,需要project structure設定mybatis的xml資料夾為resource

Thymeleaf前端顯示時間格式不規範

解決方案是寫個配置類

package com.muses.taoshop.manager.config;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistrar;
import org.springframework.format.FormatterRegistry;
import org.springframework.format.datetime.DateFormatter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * <pre>
 * Thymeleaf模板引擎配置
 * </pre>
 *
 * @author nicky
 * @version 1.00.00
 * <pre>
 * 修改記錄
 *    修改後版本:     修改人:  修改日期: 2018.09.22 10:50    修改內容:
 * </pre>
 */
@Configuration
public class ThymeleafConfig extends WebMvcConfigurerAdapter implements ApplicationContextAware{

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {

    }

    @Override
    public void addFormatters(final FormatterRegistry registry){
        super.addFormatters(registry);
        registry.addFormatter(dateFormatter());
    }

    @Bean
    public DateFormatter dateFormatter(){
        return new MyDateFormatter();
    }

    class MyDateFormatter extends DateFormatter {
        @Override
        public String print(Date date, Locale locale) {
            //return super.print(date, locale);
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
        }
    }
}

獲取後臺timestamp型別資料,頁面得到一串unix long型別資料

獲取後臺timestamp型別資料,頁面得到一串unix long型別資料,解決方案是用fastjson的@JSONField註解可以解決

 @JSONField(format ="yyyy-MM-dd HH:mm:ss")
     private Date createTime;