本文共 1401 字,大约阅读时间需要 4 分钟。
以下内容引用自,不过内容有修改:
继前一篇文章,已经配置好MyBatis的环境,并且实现了一个简单的查询。请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:
session.selectOne("com.jsoft.testmybatis.models.UserMapper.selectUserByID", 1)
其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细过程:
建立com.jsoft.testmybatis.inter 这个包,并建立接口类IUserOperation , 内容如下:
package com.jsoft.testmybatis.inter;import com.jsoft.testmybatis.models.User;public interface IUserOperation { public User selectUserByID(int id);}
注意:这里面有一个方法名selectUserByID必须与User.xml里面配置的select的id对应(<select id="selectUserByID");并且mapper的namespace也要改成<mapper namespace="com.jsoft.testmybatis.inter.IUserOperation">,可以看出是对应接口的。
重写测试代码:
public class App { public static void main( String[] args ) throws IOException { InputStream inputStream = Resources.getResourceAsStream("Configuration.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 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(); } }}
测试结果:
整个工程的结构如下:
测试工程:
==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==转载地址:http://rfuio.baihongyu.com/