• mybatis面向接口的编程


    一.实现面向接口编程

      具体操作方法如下:

        第一:编写一个接口(IUser.java)

          接口暂时为空接口,接口文件包路径:com.gusi.demo.idao.IUser

        第二:修改映射文件(User.xml)

          将namespace属性值改为上面定义接口的类的全名称com.gusi,demo.idao.IUser。然后将每个sql语句的id记录下来,接受参数类型记录下来,以及返回类型记录下来

      

     1 <mapper namespace="com.gusi.demo.idao.IUser">  
     2 
     3    <resultMap type="com.gusi.demo.pojo.User" id="UserResult">  
     4      <id column="id" jdbcType="INTEGER" property="id"/>  
     5      <result column="username" jdbcType="VARCHAR" property="username"/>  
     6      <result column="password" jdbcType="VARCHAR" property="password.encrypted"/>  
     7      <result column="administrator" jdbcType="BOOLEAN" property="administrator"/>  
     8    </resultMap>  
     9   
    10   <select id="find" parameterType="long" resultMap="UserResult">  
    11     SELECT * FROM user WHERE id = #{id:INTEGER}  
    12   </select>  
    13 </mapper>  

        第三:给上面的每一个sql语句在接口类IUser.java中添加一个接口方法

          接口方法的返回类型就为上面记录的返回类型:com.gusi.demo.poji.User类型,当然这个地方也支持java基本类型和String类型

          接口方法的名称就为上面记录sql语句的id:find,这个id在同一个namespace下是唯一的

          接口方法的请求参数就为上面记录的参数类型:long,当然这个地方是支持javaBean类型的参数类型

    1 package com.gusi.demo.idao;  
    2 public interface IUser{  
    3     public com.gusi.demo.pojo.User find(long id);//这就是对应的接口方法之一  
    4 }  

        第四:测试接口

    1 SqlSession sqlSession = sqlSessionFactory.getSqlSession();//获得一个sqlSession  
    2 //以前代码写法如下:  
    3 //User user = sqlSession.selectOne("User.find",1L);  
    4 //改为面向接口编程:  
    5 IUser iUser = sqlSession.getMapper(IUser.class);//通过sqlSession获取对应注册接口  
    6 User user = iUser.find(1L);//直接调运接口方法就可以获得对应的User对象  
  • 相关阅读:
    Javajdbc
    Web Project添加Struts2框架
    CSS去除免费虚拟主机的广告心得分享
    List<T>采用delegate快速实现排序、查找等操作
    ASP.NET视频采集站核心技术分析(附送对付搜索引擎蜘蛛的贱招)
    Azure完整实例:在线日程表
    [发布]ClouderaCMS: 基于Windows Azure的开源CMS
    获取配置文件节点的值
    asp.net DataGrid排序
    checkbox 获取选中的值
  • 原文地址:https://www.cnblogs.com/sxl920624/p/6738389.html
Copyright © 2020-2023  润新知