假设使用hiberante作为dao层,经常使用的方式是:定义一个dao层接口包(com.dao.service)然后在定义一个dao层接口实现包(com.dao.service.impl),这样定义结构清晰,方便维护和开发工作。

假设使用mybatis作为dao层,我们就能够省略到dao实现包。直接将sql实如今xml配置文件里编写,这样维护起来更方便了!

首先将mybatis整合到spring中:

<!-- define the SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />

配置javabean所在的包
        <property name="typeAliasesPackage" value="org.mybatis.jpetstore.domain" />
    </bean>

<!-- scan for mappers and let them be autowired -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

配置dao接口层
        <property name="basePackage" value="org.mybatis.jpetstore.persistence" />
    </bean>

整合完spring后,就能够使用spring的autowire自己主动注入功能!

在接口层定义了:

public interface UserMapper
{
void persistence(User user);
}

然后在编写UserMapper实现的配置文件:

<mapper namespace="UserMapper">
<cache />加入缓存
<insert id="persistence" parameterType="User">
insert into
user(account,password,name,address,man)
values(#{account},#{password},#{name},#{address},#{man})
</insert>
</mapper>

dao接口实现成就实现完毕了,在使用时仅仅须要:

@Autowired

UserMapper userMapper;

就能够直接使用UserMapper 对数据进行操作了!

这样感觉比hibernate操作dao层更方便了。

转载于:https://www.cnblogs.com/lytwajue/p/7159227.html

mybatis--面向接口编程相关推荐

  1. 1、MyBatis面向接口编程

    文章目录 0.创建mybatis 数据库 1.在mybatis数据库下创建employee数据表 2.创建Employee对象 3.创建EmployeeMapper接口 4.创建pom.xml 5.创 ...

  2. 【转】工厂模式面向接口编程

    为了实现更好的灵活性     应改面向接口编程.因此,应该面向接口提供工场.         比如,Cat,   Dog,   Mouse,都是4条腿会跑的动物.     因此,我们建立一个接口叫做F ...

  3. 黑马java教程是什么_Java教程:揭秘什么是面向接口编程

    先用一个案例来给大家说明一下面向接口编程. 案例:有一个电脑类(Computer),电脑除了有基本的开机关机功能外,还有连接任何外接设备的功能,比如能电脑能连接外置键盘(Keyboard),鼠标(Mo ...

  4. Java面向接口编程,低耦合高内聚的设计哲学

    接口体现的是一种规范和实现分离的设计哲学,充分利用接口可以极大的降低程序中各个模块之间的耦合,提高系统的可维护性以及可扩展性. 因此,很多的软件架构设计理念都倡导"面向接口编程"而 ...

  5. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程

    多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...

  6. Java 面向抽象编程和面向接口编程

    以下内容来自<Java 2实用教程>,主编:耿祥义.张跃平 鉴于面向抽象编程和面向接口编程思维培养的重要性,写此博客巩固. 面向抽象编程: 在设计程序时,经常会使用到abstract类,其 ...

  7. 为什么有人说面向对象编程就是面向接口编程?

    "面向对象编程就是面向接口编程" 这句话相信, 很多人都在网上见过, 装b利器. 我一开始也是这么想的, 那些装b者丢下这一句, 就没下文了. 首先, 我认为这句话是1个假命题. ...

  8. python面向接口编程_Python 中的面向接口编程

    前言 "面向接口编程"写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性.维护性谁都不能拒绝 ...

  9. C语言面向对象编程(四):面向接口编程

    Java 中有 interface 关键字,C++ 中有抽象类或纯虚类可以与 interface 比拟,C 语言中也可以实现类似的特性. 在面试 Java 程序员时我经常问的一个问题是:接口和抽象类有 ...

  10. python 接口编程_Python 中的面向接口编程

    前言 "面向接口编程"写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性.维护性谁都不能拒绝 ...

最新文章

  1. 【Qt】QAudioDeviceInfo获取不到音频设备
  2. properties 资源文件读取
  3. 为什么linux的TTY登录程序getty/agetty一般都会设置一个-L的option?
  4. Java多线程(二):Callable和FutureTask结合使用获取返回值
  5. iOS开发之解决系统数字键盘无文字时delete键无法监听的技巧
  6. 系统学习NLP(十九)--文本分类之FastText
  7. python 列表、字典
  8. python flask应用部署
  9. [python][统计学入门]scipy.stats.norm函数探究
  10. leetCode 3,js解法
  11. 模拟信号的调制与解调
  12. 阴阳师夜刀神技能是什么
  13. 数字证书有什么作用?
  14. 考研由考生编号估计学校,报考人数和专业
  15. win7设置定时锁定计算机,Windows7电脑屏幕如何设置不自动锁屏
  16. Itext 学习笔记(六) pdf的页眉页脚
  17. Batch Nornaliation:Accelerating Deep Network Training by ReducingInternal Covariate Shift
  18. 09 --> OpenWRT 的 linux内核patch方法,添加5G模块驱动
  19. echarts添加地图散点
  20. 直流电机驱动电路应用

热门文章

  1. Xcode7中 添加 .dylib
  2. [hdu 1003] Max Sum
  3. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用6
  4. 网络战争阴影临近,伊朗核设施受攻击
  5. PHP设计模式——原型模式
  6. STM32的Bootloader实现
  7. django redis
  8. linux sed用法
  9. Python虚拟环境的搭建
  10. BZOJ1767/Gym207383I CEOI2009 Harbingers 斜率优化、可持久化单调栈、二分