MyBaits基本概念和原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBaits基本概念和原理相关的知识,希望对你有一定的参考价值。

什么是MyBatis?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

MyBatis源码对应的结构流程


技术分享


  1. SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句,此文件需要在SqlMapConfig.xml中加载。

<?xml version="1.0" encoding="utf-8"?>  
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>  
  <environments default="development">  
    <environment id="development">  
      <transactionManager type="JDBC" />  
      <dataSource type="POOLED">  
     <property name="driver" value="com.mysql.jdbc.Driver" />    
         <property name="url" value="jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf-8" />    
         <property name="username" value="root" />    
         <property name="password" value="mysql123" />  
      </dataSource>  
    </environment>  
  </environments>  
    <mappers>  
       <mapper  resource="com/louis/mybatis/domain/EmployeesMapper.xml"/>  
    </mappers>  
</configuration>


mapper.xml


<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >  
<mapper namespace="com.louis.mybatis.dao.EmployeesMapper" >  
  
  <resultMap id="BaseResultMap" type="com.louis.mybatis.model.Employee" >  
    <id column="EMPLOYEE_ID" property="employeeId" jdbcType="DECIMAL" />  
    <result column="FIRST_NAME" property="firstName" jdbcType="VARCHAR" />  
    <result column="LAST_NAME" property="lastName" jdbcType="VARCHAR" />  
    <result column="EMAIL" property="email" jdbcType="VARCHAR" />  
    <result column="SALARY" property="salary" jdbcType="DECIMAL" />  
  </resultMap>  
    
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >  
    select   
        EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, SALARY  
        from LOUIS.EMPLOYEES  
        where EMPLOYEE_ID = #{employeeId,jdbcType=DECIMAL}  
  </select>  
</mapper>


本文出自 “数据挖掘工程师的成长历程” 博客,请务必保留此出处http://qianqiansun.blog.51cto.com/13271301/1965203

以上是关于MyBaits基本概念和原理的主要内容,如果未能解决你的问题,请参考以下文章

Mybaits的批量操作包括批量删除 批量增加和批量更新

编译时,运行时解释

Mybatis原理分析一 从JDBC到Mybaits

Mybaits 源码解析 ----- 面试源码系列:Mapper接口底层原理(为什么Mapper不用写实现类就能访问到数据库?)

Java中的泛型 (上) - 基本概念和原理

java-mybaits-00102-mybatis框架原理