zoukankan      html  css  js  c++  java
  • Mybatis(3) 映射文件-增删改查

    映射文件:

    映射文件是根据数据库模型生成的编写sql脚本xml文件, mapper标签中namespace属性值为对应模型实体类的全类名。

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE mapper
     3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     5 <mapper namespace="com.itdoc.mybatis.bc.dao.EmployeeMapper">
     6 
     7     <select id="queryById" resultType="com.itdoc.mybatis.bc.entity.EmployeeEntity">
     8         SELECT
     9           id          AS `id`
    10           , last_name AS `name`
    11           , email     AS `email`
    12           , gender    AS `gender`
    13         FROM employee a
    14         WHERE 1 = 1
    15               AND id = #{id}
    16     </select>
    17 
    18     <insert id="insert" parameterType="com.itdoc.mybatis.bc.entity.EmployeeEntity">
    19         INSERT INTO employee (
    20           last_name
    21           , email
    22           , gender)
    23         VALUES (
    24           #{name}
    25           , #{email}
    26           , #{gender}
    27         )
    28     </insert>
    29 
    30     <update id="update" parameterType="com.itdoc.mybatis.bc.entity.EmployeeEntity">
    31         UPDATE employee
    32         SET last_name = #{name}
    33           , email     = #{email}
    34           , gender    = #{gender}
    35         WHERE 1 = 1
    36               AND id = #{id}
    37     </update>
    38 
    39     <delete id="delById">
    40         DELETE
    41         FROM employee
    42         WHERE 1 = 1
    43               AND id = #{id}
    44     </delete>
    45 </mapper>
    EmployeeMapper.xml

     EmployeeMapper.java接口:全类名com.itdoc.mybatis.bc.dao.EmployeeMapper

     1 /**
     2  * @filename: EmployeeMapper.java
     3  * @desc 数据库模型映射接口
     4  * @author: Wang Chinda
     5  * @blog http://www.cnblogs.com/goodcheap
     6  * @date: 2018-01-30 10:15
     7  * @version: v1.0
     8  * @copyright: Copyright © 2018 ༄ྂ祸ྂྂ害ོ༘苍ྂྂ生ོ༘࿐ྂ 版权所有
     9  * @modify_history: -
    10  * 20180130   Wang Chinda   create
    11  * 20180130   Wang Chinda   modify   method()
    12  */
    13 package com.itdoc.mybatis.bc.dao;
    14 
    15 import com.itdoc.mybatis.bc.entity.EmployeeEntity;
    16 import com.itdoc.mybatis.common.base.dao.BaseDao;
    17 
    18 /**
    19  * @desc 数据库模型映射接口
    20  * @author Wang Chinda
    21  * @create 2018-01-30 10:15
    22  */
    23 public interface EmployeeMapper extends BaseDao<EmployeeEntity> {
    24 
    25 }
    EmployeeMapper
     1 /**
     2  * @filename: BaseDao.java
     3  * @desc 基础数据模型接口
     4  * @author: Wang Chinda
     5  * @blog http://www.cnblogs.com/goodcheap
     6  * @date: 2018-01-30 10:35
     7  * @version: v1.0
     8  * @copyright: Copyright © 2018 ༄ྂ祸ྂྂ害ོ༘苍ྂྂ生ོ༘࿐ྂ 版权所有
     9  * @modify_history: -
    10  * 20180130   Wang Chinda   create
    11  * 20180130   Wang Chinda   modify   method()
    12  */
    13 package com.itdoc.mybatis.common.base.dao;
    14 
    15 /**
    16  * @desc 基础数据模型接口
    17  * @author Wang Chinda
    18  * @create 2018-01-30 10:35
    19  */
    20 public interface BaseDao<T> {
    21 
    22     /**
    23      * 根据对象保存数据
    24      * @param entity
    25      * @return
    26      */
    27     boolean insert(T entity);
    28 
    29     /**
    30      * 根据主键删除数据
    31      * @param id
    32      * @return
    33      */
    34     boolean delById(String id);
    35 
    36     /**
    37      * 根据对象删除数据
    38      * @param entity
    39      * @return
    40      */
    41     boolean del(T entity);
    42 
    43     /**
    44      * 根据对象更新数据
    45      * @param entity
    46      * @return
    47      */
    48     boolean update(T entity);
    49 
    50     /**
    51      * 根据主键查询数据
    52      * @param id
    53      * @return
    54      */
    55     T queryById(String id);
    56 }
    BaseDao

    注意: 此处命名空间对应是为增删改查时方法名与标签id对应。如: BaseDao 中的 insert 方法对应 EmployeeMapper.xml 中 id 为 insert 的 <insert> 标签, 执行此标签中的 SQL 脚本。

    运行示例:

    testInsert方法数据库中数据:

    testUpdate方法数据库中数据:

    testSelcet方法控制台显示:

    testDelete方法数据库中数据:

    GitHub源码: mybatis-02

  • 相关阅读:
    Linux下面rsync 实现 完全一致的同步方法
    [知乎]中国的对外援助
    Linux测试环境简单使用教程
    Java中的DeskTop类使用介绍
    Android应用加入微信分享
    Java中的面向接口编程
    Java泛型的好处
    Android studio 下JNI编程实例并生成so库
    在Android应用中使用Clean架构
    是时候学习Android分屏开发了
  • 原文地址:https://www.cnblogs.com/chinda/p/8376383.html
Copyright © 2011-2022 走看看