mybatis-初步使用

  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>
      
        
原文地址:https://www.cnblogs.com/leeying/p/3577301.html