转自:http://www.yihaomen.com/article/java/304.htm

前面一章,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询。

请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:

session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1)
其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),

这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细过程:

在src_user源码目录下建立 com.yihaomen.mybatis.inter 这个包,并建立接口类 IUserOperation , 内容如下:

1 package com.yihaomen.mybatis.inter;
2 import com.yihaomen.mybatis.model.User;
3 
4 public interface IUserOperation {    
5     public User selectUserByID(int id);
6     
7 }

请注意,这里面有一个方法名 selectUserByID 必须与 User.xml 里面配置的 select 的id 对应(<select id="selectUserByID")

 

 1 public static void main(String[] args) {
 2         SqlSession session = sqlSessionFactory.openSession();
 3         try {
 4             IUserOperation userOperation=session.getMapper(IUserOperation.class);
 5             User user = userOperation.selectUserByID(1);
 6             System.out.println(user.getUserAddress());
 7             System.out.println(user.getUserName());
 8         } finally {
 9             session.close();
10         }
11     }

 

整个工程结构图现在如下:

这种方式,要注意的一个地方就是。在User.xml  的配置文件中,

mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,

命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致。
运行这个测试程序,就可以看到结果了。

 

posted on 2016-03-30 23:09  Sharpest  阅读(213)  评论(0编辑  收藏  举报