mybatis详解如何实现dao层接口-mile米乐体育

目录

  • 传统开发方式
    • 编写userdao接口
    • 编写userdaompl实现
    • 传统测试方法恰卡编程网
  • 代理开发方法
    • 代理开发方式介绍
    • 编写usermapper接口
    • 测试代理方法

传统开发方式

编写userdao接口

public interface usermapper { public list findall() throws ioexception; }

编写userdaompl实现

public class usermapperimp implements usermapper { @override public list findall() throws ioexception { inputstream resourceasstream = resources.getresourceasstream("sqlmapconfig.xml"); sqlsessionfactory build = new sqlsessionfactorybuilder().build(resourceasstream); sqlsession sqlsession = build.opensession(); list users=sqlsession.selectlist("user.findall"); sqlsession.close(); return users; } }

传统测试方法

public class servicecode { public static void main(string[] args) throws ioexception { usermapper usermapper = new usermapperimp(); list all = usermapper.findall(); system.out.println(all); } }

我们发现使用传统的开发方式,每次都要实现接口的代码编写,这样也有很多的代码冗余,也是相当的繁琐,下面,mybatis为我们提供了代理开发的方法,我们只需要提供接口,mybatis框架就可以根据接口定义为我们实现。

代理开发方法

代理开发方式介绍

采用mybatis的代理开发方式实现dao层的开发,这种方式是我们后面进入企业的主流。

恰卡编程网

mapper接口开发方法只需要程序员编写mapper接口(相当与dao接口),由mybatis框架根据接口定义创建接口的动态代理对象,代理对象方法体同上边dao接口实现类方法。

mapper接口开发需要遵循一下规范:

  • 1、mapper.xml文件中的namespacemapper接口的全限定名相同
  • 2、mapper接口方法名和mapper.xml中定义的每个statement的id相同
  • 3、mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parametertype的类型相同
  • 4、mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resulttype的类型相同

编写usermapper接口

测试代理方法

接口:

public interface usermapper { public list findall() ; }

测试代码:

public class test { public static void main(string[] args) throws exception { inputstream resourceasstream = resources.getresourceasstream("sqlmapconfig.xml"); sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(resourceasstream); sqlsession sqlsession = sqlsessionfactory.opensession(); //获得mybatis框架生产的usermapper接口的实现类 usermapper mapper = sqlsession.getmapper(usermapper.class); list all = mapper.findall(); for (user user : all) { system.out.println(user); } }

根据id查询:

接口:

public interface usermapper { //根据id查询 public user findbyid(int id); }

测试:

usermapper mapper = sqlsession.getmapper(usermapper.class); user user=mapper.findbyid(2); system.out.println(user);

到此这篇关于mybatis详解如何实现dao层接口的文章就介绍到这了,更多相关mybatis dao层接口内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图