zoukankan      html  css  js  c++  java
  • MyBatis3-以接口方式编程

    以下内容引用自http://www.yihaomen.com/article/java/304.htm,不过内容有修改:

    继前一篇文章http://www.cnblogs.com/EasonJim/p/7049248.html,已经配置好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();
            }
        }
    }

    测试结果:

    整个工程的结构如下:

    测试工程:https://github.com/easonjim/5_java_example/tree/master/mybatis/test2

  • 相关阅读:
    GORM模型(Model)创建
    GORM高级查询
    LogAgent
    安装kafka
    go读取日志tailf
    bubble清单
    go操作kafka
    GORM模型删除
    Vue 父子组件间的传值
    列表和表格
  • 原文地址:https://www.cnblogs.com/EasonJim/p/7050710.html
Copyright © 2011-2022 走看看