簡體   English   中英

MyBatis @Mapper聲明

[英]MyBatis @Mapper declaration

春季靴子| MyBatis的

當我嘗試在控制器中聲明mybatis映射器時,IDE會對它加下划線,並且不進行編譯。

@Controller
@RequestMapping("demo")
@MapperScan("com.sample.mapper")
public class MessageController {

private static final String MESSAGE = "message";
private static final String INDEX = "index";

@Autowired
private MessageMapper messageMapper;


@RequestMapping("printMessage/{message}")
public String printMessage(ModelMap modelMap) {
    modelMap.addAttribute(MESSAGE, "M");
    return INDEX;
}

@RequestMapping("printHello")
public String printHello(ModelMap modelMap) {
    modelMap.addAttribute(MESSAGE, "Hello, ");
    return INDEX;
}

我最近以某種方式編譯了該類,但是,當我嘗試使用messageMapper實例(例如messageMapper.insert() ,由於未分配任何值,因此它給了我NullPointerException。 看來Spring出於某種原因對我不起作用。

根據文檔 ,我認為@MapperScan不是正確的類,因為它們不在控制器創建時間的上下文中,所以它們不能自動裝配。 當在Mybatis XML配置文件中定義它時,將使用Sql Session Factory Provider加載該文件,這實際上是一個更有意義的地方,那么它與批注樣式不會有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM