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.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 }
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 }
注意: 此处命名空间对应是为增删改查时方法名与标签id对应。如: BaseDao 中的 insert 方法对应 EmployeeMapper.xml 中 id 为 insert 的 <insert> 标签, 执行此标签中的 SQL 脚本。
运行示例:
testInsert方法数据库中数据:
testUpdate方法数据库中数据:
testSelcet方法控制台显示:
testDelete方法数据库中数据:
GitHub源码: mybatis-02