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

 

posted @ 2018-01-29 11:11  Chinda  阅读(357)  评论(0编辑  收藏  举报