浅谈「Mybatis」

753 阅读1分钟

这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战

ORM

  • ORM就是数据库的表和简单的java对象的映射关系模型
  • 主要解决了数据库数据和POJO对象的相互映射
    • 通过这层映射关系,就可以简单迅速的江数据库表的数据转化为POJO

图片.png

Mybatis

  • 主要包含三个部分
    1. SQL
    2. 映射规则
    3. POJPO

图片.png

  • 我们在接口中的方法名与xml文件中的id进行映射
public interface StuMapper {
    public Stu getStu(Long id);
}
<select id="getStu" parameterType="long">
    select
        id,name,adress,role,age
    from stu
    where id = #{id}
    limit 10
</select>
  • 其中parameterType表示我们传递给这条SQL的是一个java.lang.Long类型参数
    • 返回则是resultType是我们需要返回的数据类型

mybatis常见元素

- cache – 该命名空间的缓存配置。

  • cache-ref – 引用其它命名空间的缓存配置。
  • resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。
  • sql – 可被其它语句引用的可重用语句块。
  • insert – 映射插入语句。
  • update – 映射更新语句。
  • delete – 映射删除语句。
  • select – 映射查询语句。
<insert id="insertAuthor">
insert into Author (id,username,password,email,bio)
values (#{id},#{username},#{password},#{email},#{bio})
</insert>
 
<update id="updateAuthor">
update Author set
username = #{username},
password = #{password},
email = #{email},
bio = #{bio}
where id = #{id}
</update>
 
<delete id="deleteAuthor">
delete from Author where id = #{id}
</delete>

if使用 动态 SQL 最常见情景是根据条件包含 where 子句的一部分

图片.png

choose使用 - 当我们在众多条件中使用一个的时候,使用choose - 类似我们使用的swich语句

图片.png

set关键字(弥补上面两个缺陷)

图片.png

foreach

图片.png

其实当我们经常写习惯了,那么这些就烂熟于心啦🤪