1. Mybatis解决jdbc编程的问题
  2. 、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
  3. 解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。以后交给spring管理。
  4. Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
  5. 解决:将Sql语句配置在XXXXmapper.xml文件中与java代码分离。
  6. 、向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。
  7. 解决:Mybatis自动将java对象映射至sql语句,通过statement中的parameterType定义输入参数的类型。
  8. 、对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
  9. 解决:Mybatis自动将sql执行结果映射至java对象,通过statement中的resultType定义输出结果的类型。
  1. .1mybatishibernate重要区别
  2. 企业开发进行技术选型 ,考虑mybatishibernate适用场景。
  3.  
  4. mybatis:入门简单,程序容易上手开发,节省开发成本 mybatis需要程序员自己编写sql语句,是一个不完全 ORM框架,对sql修改和优化非常容易实现
  5. mybatis适合开发需求变更频繁的系统,比如:互联网项目。
  6.  
  7. hibernate:入门门槛高,如果用hibernate写出高性能的程序不容易实现。hibernate不用写sql语句,是一个 ORM框架。
  8. hibernate适合需求固定,对象数据模型稳定,中小型项目,比如:企业OA系统。
  9.  
  10. 总之,企业在技术选型时根据项目实际情况,以降低成本和提高系统 可维护性为出发点进行技术选型。
  1. .1总结
  2.  
  3. 1.1.1SqlMapConfig.xml
  4. mybatis全局配置文件,只有一个,名称不固定的,主要mapper.xml以及数据源(spring之后就没有数据源),mapper.xml中配置 sql语句
  5.  
  6. 1.1.2mapper.xml
  7. mapper.xml是以statement为单位进行配置。(把一个sql称为一个statement,把一个sql封装为statement对象),satatement中配置 sql语句、parameterType输入参数类型(完成输入映射)、resultType输出结果类型(完成输出映射)。
  8.  
  9. 还提供了parameterMap配置输入参数类型(过期了,不推荐使用了)
  10. 还提供resultMap配置输出结果类型(完成输出映射),明天重点讲通过resultMap完成复杂数据类型的映射(一对多,多对多映射)
  11.  
  12. 1.1.#{}
  13. 表示一个占位符,向占位符输入参数,mybatis自动进行java类型和jdbc类型的转换。
  14. 程序员不需要考虑参数的类型,比如:传入字符串,mybatis最终拼接好的sql就是参数两边加单引号。
  15. #{}接收pojo数据,可以使用OGNL解析出pojo的属性值
  16. 1.1.${}
  17. 表示sql的拼接,通过${}接收参数,将参数的内容不加任何修饰拼接在sql中。
  18. ${}也可以接收pojo数据,可以使用OGNL解析出pojo的属性值
  19.  
  20. 缺点:不能防止sql注入。
  21.  
  22. 1.1.5selectOne
  23. 用于查询单条记录,不能用于查询多条记录,否则异常:
  24. org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found:
  25.  
  26. .2selectList
  27. 用于查询多条记录,可以用于查询单条记录的。

mybatis08的更多相关文章

  1. Mybatis公司开发常用!

    Mybatis核心 本文重点:注解开发,mybatis多表操作,动态SQL(WHERE,SET,IF,SQL-ID减少复用) 代码地址--https://gitee.com/zhangjzm/my-b ...

随机推荐

  1. 集成Facebook和Twitter的Model动画-b

    这个动画.  感谢大神分享 JPPopPresentAnimation.gif 要实现这个功能分两步走:第一步,先实现这个动画.第二步,0行代码集成到项目.也就是,你不用改原有项目的任何代码,只要把写 ...

  2. 守望先锋overwatch美服外服设置方法

    打开:C:\Users\你的用户名\AppData\Roaming\Battle.net\Battle.net.config 替换为下方内容: { "Client": { &quo ...

  3. 【转】Spring 注解学习手札(超好的springmvc注解教程)

    Spring 注解学习手札(一) 构建简单Web应用 Spring 注解学习手札(二) 控制层梳理 Spring 注解学习手札(三) 表单页面处理 Spring 注解学习手札(四) 持久层浅析 Spr ...

  4. 最简单的CRC32源码---逐BIT法

    CRC其实也就那么回事,却在网上被传得神乎其神.单纯从使用角度来说,只需要搞明白模二除法,再理解一些偷懒优化的技巧,就能写出自己的CRC校验程序. 下面的代码完全是模拟手算过程的,效率是最低的,发出来 ...

  5. windows下安装php真正的多线程扩展pthreads教程

    扩展地址:http://docs.php.net/manual/zh/book.pthreads.php 注意事项php5.3或以上,且为线程安全版本.apache和php使用的编译器必须一致.通过p ...

  6. Android软件开发之获取通讯录联系人信息

    Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来. 这一篇文章我主要带领同学们熟悉Android的通讯录机制. 图中选中 ...

  7. 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制(瘋耔修改篇一)

    首先非常感谢原文作者为我们提供的知识库,因为有你们的贡献,我们的开发难度更显简单 原文 :   http://blog.csdn.net/mr_raptor/article/details/30113 ...

  8. Windows Server AppFabric 安装文档

    安装指南 入门标题页 3 Windows Server AppFabric 安装和配置指南 3 版权 3 版权所有 3 简介 3 清单:规划安装 4 硬件要求 4 使计算机作好安装准备 5 本节内容 ...

  9. ARM学习笔记9——ARM汇编汇编语言中的伪指令

    ARN汇编器支持ARM伪指令,这些伪指令在汇编阶段被翻译成ARM或Thumb指令.ARM伪指令包含ADR.ADRL.MOV32和LDR.一.ADR伪指令 1.作用 ADR是小范围地址读取伪指令,基于P ...

  10. Hdu 5213-Lucky 莫队,容斥原理,分块

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5213 Lucky Time Limit: 6000/3000 MS (Java/Others)    Me ...