MyBatis:理解 mapper.xml 文件和使用

1
2
3
4
5
6
7
8
9
<mapper namespace="org.mybatis.mapper.UserMapper">
<!-- useGeneratedKeys:返回主键
keyProperty:返回的主键对应实体类的属性字段
-->
<insert id="saveUser" parameterType="com.mybatis.domain.User" useGeneratedKeys="true" keyProperty="id">
insert into user values(#{id},#{username},#{birthday},#{sex},#{address})
</insert>

</mapper>
  1. mapper:指定唯一的namespace,一般设置成mapper类的全路径名。
  2. insert:对应SQL中的insert插入语句。
    id:为该语句的属性,通常与mapper java 文件的方法名相同。
    parameterType:参入插入语句的参数类型。
    useGeneratedKeys:主键使用数据库自增策略,需要数据库底层支持,并返回主键到keyProperty指定的属性名。
    keyProperty:指示主键映射到实体类的属性名。
阅读更多

MyBatis:CRUD 注解配置

  CRUD注解:@Select,@Insert,@Update,@Delete
  配置项注解:@Options
  参数绑定注解:@Param, 将传入方法的参数绑定到 SQL 语句的参数上。
  **结果映射注解: **@Results—— 结果映射列表;@Result—— 在列和属性或字段之间的单独结果映射。

阅读更多

MyBatis:mapper接口扫描配置方式

普通开发方式

  1. Mybatis 核心配置文件引入映射文件:<mapper resource = "mapper/User.xml" />,映射xml文件名没有要求,文件内的名称空间名没有要求。
  2. java 代码引用映射文件,使用:名称空间.sql语句id名称
    例:List userList = session.selectList(“test.findAllUser”);

备注:此方式几乎不会使用

阅读更多

Mybatis:事务管理机制详解

事务是一个最小的逻辑执行单元,整个事务不能分开执行,要么同时执行,要么同时放弃执行。
Mybatis的事务管理分为两种形式:JDBCMANAGED

阅读更多

MyBatis:缓存机制详解

Mybatis查询缓存分为一级缓存和二级缓存,一级缓存属于sqlsession级别,二级缓存属于Mapper级别。
Mybatis通过缓存机制可减轻直接访问数据库的压力,提高数据库性能。

阅读更多

MyBatis:介绍及执行流程

Mybatis介绍

  • Mybatisapache 下的一个开源项目,是对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建 connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
  • Mybatis 通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过 java 对象和 statement 中的sql 进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射成 java 对象并返回。

    MyBatis架构框架图

阅读更多