1. 最近因为业务各方面的原因,需要使用mybatis,所以系统的学习和总结下。
  2. 其实mybatis出来已经很久了,貌似大家伙用得也挺顺手的样纸,好歹我先不评价,还是先了解了解mybatis的样纸,后续再添加上关于它的个人看法。
  • mybatis是做什么的

    • 关于mybatis的定义,官方的正式定义:java的持久层框架,支持存储过程和sql,使用xml或注解的方式定义。

    • 个人理解是,将jdbc sql的编写,使用结构化和易管理的方式维护起来,目的当然也还是面向对象的映射转化。
    • 结构(盗图):
      •   
  • mybatis怎么使用

    • 简单使用

      • 文件配置

        • mapper.xml
        • configuration.xml
        • sessionFactory.xml  
      • 代码结构
        • 定义dao接口

          • 接口与mapper中的配置一致
          • 定义返回对象类型  
        • 定义impl实现类
        • 使用类
          • SessionFactory的builder
          • Session的获取
          • 调用dao接口获取对象
          • session关闭 
    • spring集成
      • bean配置

        • sessionFactoryBean配置

          • dataSource
          • configLocation:mybatis的配置文件(mybatis相关的配置项,如:typeAlias等。包含在configuration标签内)
          • mappersLocation:mapper的放置位置  
        • MapperScannerConfigur配置,指定mapper的扫描位置  
      • 使用
        • 定义接口文件
        • 定义mapper配置
        • 直接使用dao的方法,即可
      • mybatis的pom依赖
        • mybatis:org.mybatis:mybatis:jar
        • mybatis-spring:org.mybatis:mybatis-spring:jar
    • 使用示例:
    • <bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="locations">
      <list>
      <value>classpath:jdbc.properties</value>
      </list>
      </property>
      </bean> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
      <property name="driverClass" value="${jdbc.driverClassName}" />
      <property name="jdbcUrl" value="${jdbc.url}" />
      <property name="user" value="${jdbc.username}" />
      <property name="password" value="${jdbc.password}" />
      <property name="checkoutTimeout" value="30000" />
      <property name="maxPoolSize" value="15" />
      <property name="idleConnectionTestPeriod" value="180" />
      <property name="maxIdleTime" value="180" />
      </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource" />
      <!--configLocation属性指定mybatis的核心配置文件-->
      <property name="configLocation" value="classpath:mybatisConfiguration.xml" />
      <!-- 所有配置的mapper文件 -->
      <property name="mapperLocations" value="classpath*:com/mapper/*.xml" />
      </bean>
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="com.pro.dao" />
      </bean>

        

mybatis-初步使用的更多相关文章

  1. Mybatis初步详细配置

    1.Mybatis所需包 下载地址:https://github.com/mybatis/mybatis-3/releases,其中log4j是日志包,mysql是数据库所需包,需自行下载 2.项目结 ...

  2. mybatis 初步使用(IDEA的Maven项目, 超详细)

    目录 创建 Maven 项目 Maven配置 pom.xml 创建数据库 配置Mybatis 配置mybatis的XML文件 创建实体类和对应的Mapper.xml 测试 源码 @ 创建 Maven ...

  3. mybatis初步理解

    mybatis概念   mybatis 是一款轻量级的orm的数据持久框架,封装jdbc 对开发提供了便利,但是性能会比jdbc低,从开发的角度来说,现在是比较流行的 掌握上比较容易,也支持缓存,级联 ...

  4. Mybatis初步认识

    分三层 第一章 1.三层架构 界面层:和用户打交道,接收用户的请求参数明显是处理结果的(jsp,html,servlet) 业务逻辑层:接收了界面层传递的数据,计算逻辑,调用数据库,获取数据 数据访问 ...

  5. Spring 14: Spring + MyBatis初步整合开发

    SM整合步骤 预期项目结构 新建数据库和数据表 springuser.sql脚本如下 create database ssm; use ssm; create table users( userid ...

  6. mybatis初步配置容易出现的问题

    The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You ...

  7. mybatis 缓存的使用, 看这篇就够了

    目录 1 一级缓存 1.1 同一个 SqlSession 1.2 不同的 SqlSession 1.3 刷新缓存 1.4 总结 2 二级缓存 2.1 配置二级缓存 2.2 使用二级缓存 2.3 配置详 ...

  8. mybatis源码-解析配置文件(三)之配置文件Configuration解析

    目录 1. 简介 1.1 系列内容 1.2 适合对象 1.3 本文内容 2. 配置文件 2.1 mysql.properties 2.2 mybatis-config.xml 3. Configura ...

  9. mybatis源码-解析配置文件(二)之解析的流程

    目录 1. 简介 2. 配置文件解析流程分析 2.1 调用 2.2 解析的目的 2.3 XML 解析流程 2.3.1 build(parser) 2.3.2 new XMLConfigBuilder( ...

  10. mybatis源码-解析配置文件(一)之XML的DOM解析方式

    目录 简介 Java 中 XML 文件解析 解析方式 DOM 解析 XML 新建 XML 文件 DOM 操作相关类 Java 读取 XML 文件 一起学 mybatis @ 简介 在之前的文章< ...

随机推荐

  1. 05_java之方法

    01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 * A: 方法的格式 * 修饰符 返回值类型 方法名(参数类型 参 ...

  2. mysql和php的内存问题

    最近给一个客户把他以前的数据转换到PHPSMC里去,因为他的数据太大出现一些问题,首先出现的是php内存问题,刚导时空白,我就在该也面的头部加上 error_reporting(E_ALL);打印所有 ...

  3. Android 4 学习(20):ActionBar

    参考<Pro Android 4.0> ActionBar 11.0之后,ActionBar在Activity中默认存在,可以在代码中设置其显示与否: ActionBar actionBa ...

  4. python十个博客

    1.首先第一个肯定是毋庸置疑的Planet Python这是最出名的python博客其中之一,快去看看,我希望你能找到对你有用的东西,昨天它还更新了呢! 2.第二个博客是lucumr,博主是flask ...

  5. 如何去掉Myeclipse对JS等文件的验证

    或 MyEclipse->validation->Excluded Resource下找到不需要验证的文件或者文件夹 或 右键点击该项目-->MyEclipse-->Exclu ...

  6. 跟我学算法-pca(降维)

    pca是一种黑箱子式的降维方式,通过映射,希望投影后的数据尽可能的分散, 因此要保证映射后的方差尽可能大,下一个映射的方向与当前映射方向正交 pca的步骤: 第一步: 首先要对当前数据(去均值)求协方 ...

  7. Dreamweaver基本操作

    1.站点管理 在网站设计前,我们需要先建立站点,再进行网站设计. 站点 作用:用来归纳一个网站上所有的网页.素材及他们之间的联系. 站点根文件夹命名规则:由数字.字母.下划线组成,数字不能在开头. 首 ...

  8. dbcm with kubenetes

    1. create consul # kcompose convert -f /root/gitSwarm/dbcm-base-managers/compose/consul.yml genetate ...

  9. Perl 变量:标量变量

    Perl 标量标量是一个简单的数据单元.标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页. 1.数字标量标量通常是一个数字或字符串. 2.字符串标量以下实例演示了不同类型的字符串标量的 ...

  10. C#根据url生成唯一的key

    根据url生成唯一的idkey,记录并分享: public class UrlToUniqueKey { ); , ] { { 0L, 0L }, { -4611686018427387904L, - ...