zoukankan      html  css  js  c++  java
  • 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>
        
          
  • 相关阅读:
    Python----定义
    [转载]Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
    彻底明白IP地址——计算相关地址
    [转载] 教你如何迅速秒杀掉:99%的海量数据处理面试题
    [转载]从B 树、B+ 树、B* 树谈到R 树
    [转载]Java抽象类和接口的学习
    [转载]字符串匹配的Boyer-Moore算法
    [转载]字符串匹配的KMP算法
    [转载]孤儿进程与僵尸进程[总结]
    [转载]Huffman编码压缩算法
  • 原文地址:https://www.cnblogs.com/leeying/p/3577301.html
Copyright © 2011-2022 走看看