zoukankan      html  css  js  c++  java
  • 【MyBatis笔记】mapper文件的配置以及说明

    <!doctype html>【MyBatis笔记】mapper文件的配置以及说明

    【MyBatis笔记】mapper文件的配置以及说明

    命名空间

    • 定义命名空间,dao层调用mapper文件中定义的对数据库进行操作的方法

    • mapper文件中的参数:

      • <select><insert> 等标签,定义了方法的功能
      • 标签内id 定义了方法的名称,也即是dao层调用的方法名
      • parameterType 定义了参数类型,与dao层调用方法时的参数保持一致
      • resultType 定义了返回值的类型,与dao层调用方法的返回值保持一致
      • <insert> 标签中的参数useGeneratedKeys 表示属性值是否自动递增,keyProperty 表示允许递增的属性列
      • <sql> 标签的使用,降低了代码复制量。可参考sql标签的使用
    <mapper namespace="com.kris.dao.MyUserDao">
      ...
    </mapper>

    CRUD操作

    <select id="findById" useCache="false" parameterType="int" resultType="com.kris.model.MyUser">
        select * from my_user
        where id=#{id}
    </select>
    
    <select id="findByName" resultType="com.kris.model.MyUser">
        select * from my_user
        where name = #{name}
    </select>
    
    <select id="countByName" parameterType="String" resultType="int">
        select count(*) from my_user
        where name = #{name}
    </select>
    
    <insert id="insert" parameterType="com.kris.model.MyUser" useGeneratedKeys="true" keyProperty="id">
        insert into my_user(id, name, password)
        values(#{id}, #{name}, #{password})
    </insert>
    
    <update id="update" parameterType="com.kris.model.MyUser">
        update my_user
        set name = #{name},
        password = #{password}
        where id = #{id}
    </update>
    
    <delete id="delete" parameterType="int">
        delete from my_user
        where id = #{id}
    </delete>

    单元测试

    • 类图

    • image.png

    • image.png

    • 单元测试思路

      • 定义mapper文件dao的命名空间,即mapper文件实现了dao层的Dao接口,在接口中做相应的定义
      • 在对Dao层接口单元测试时,只需要声明一个Dao对象,然后调用其接口方法即可
    • 易错点

      • sql语法错误
      • 传入参数以及返回参数类型错误
     
  • 相关阅读:
    Android 读写文件
    Android junit单元测试
    pilot
    关闭端口8080/1099
    [table-ext.js]用于ajax请求后绑定返回json对象到table
    对一段汇编代码优化思路
    Hello
    第1章Java语言概述 以后我会陆续更新从零基础学习的
    MyEclipse快捷键大全(绝对全)
    2018总结,2019计划
  • 原文地址:https://www.cnblogs.com/louis6575/p/12417273.html
Copyright © 2011-2022 走看看