文章出處

前面一章,已經搭建好了eclipse,mybatis,mysql的環境,并且實現了一個簡單的查詢。請注意,這種方式是用SqlSession實例來直接執行已映射的SQL語句:
session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1)
其實還有更簡單的方法,而且是更好的方法,使用合理描述參數和SQL語句返回值的接口(比如IUserOperation.class),這樣現在就可以至此那個更簡單,更安全的代碼,沒有容易發生的字符串文字和轉換的錯誤.下面是詳細過程:

在src_user源碼目錄下建立 com.yihaomen.mybatis.inter 這個包,并建立接口類 IUserOperation , 內容如下:

package com.yihaomen.mybatis.inter;
import com.yihaomen.mybatis.model.User;

public interface IUserOperation {    
    public User selectUserByID(int id);
    
}

請注意,這里面有一個方法名 selectUserByID 必須與 User.xml 里面配置的 select 的id 對應(<select id="selectUserByID")

重寫測試代碼

public static void main(String[] args) {
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUserOperation userOperation=session.getMapper(IUserOperation.class);
            User user = userOperation.selectUserByID(1);
            System.out.println(user.getUserAddress());
            System.out.println(user.getUserName());
        } finally {
            session.close();
        }
    }
整個工程結構圖現在如下:

這種方式,要注意的一個地方就是。在User.xml  的配置文件中,修改為 mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空間非常重要,不能有錯,必須與我們定義的package 和 接口一致。

運行這個測試程序,就可以看到結果了。

文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()