加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

mybatis映射文件之基本的增删改查

发布时间:2020-12-14 18:02:44 所属栏目:大数据 来源:网络整理
导读:借之前配置好的环境: 1、首先在Employee .java中加上有参的构造器和无参的构造器。 2、采用mapper中的class属性配置映射文件。 mappers mapper class ="com.gong.mybatis.dao.EmployeeMapper" / / 3、EmployeeMapper.java package com.gong.mybatis.dao; im

借之前配置好的环境:

1、首先在Employee .java中加上有参的构造器和无参的构造器。

2、采用mapper中的class属性配置映射文件。

    <mappers>
        mapper class="com.gong.mybatis.dao.EmployeeMapper" />        
    </>

3、EmployeeMapper.java

package com.gong.mybatis.dao;

import com.gong.mybatis.bean.Employee;

public interface EmployeeMapper {
    public Employee getEmpById(Integer id);
    
    boolean addEmp(Employee employee);
    
    void updateEmp(Employee employee);
    
     deleteEmp(Integer id);
}

4、EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
namespace="com.gong.mybatis.dao.EmployeeMapper">
    select id="getEmpById" resultType="com.gong.mybatis.bean.Employee">
        select id,last_name lastName,email,gender from tbl_employee where id = #{id}
    selectinsert ="addEmp" parameterType
        insert into tbl_employee(last_name,gender,email)
        values(#{lastName},#{gender},#{email}) 
    insertupdate ="updateEmp" 
        update tbl_employee set last_name=#{lastName},gender=#{gender},email=#{email}
        where id = #{id}
    updatedelete ="deleteEmp"
        delete from tbl_employee where id=#{id}
    delete>
mapper>

说明:接口中的增删改方法可以有Integer、long、boolean返回值。在EmployeeMapper.xml中parameterType为输入的参数类型,resultType为返回的参数类型。

5、在TestMybatis.java中进行单元测试

 com.gong.mybatis.test;

 java.io.IOException;
 java.io.InputStream;

 org.apache.ibatis.io.Resources;
 org.apache.ibatis.session.SqlSession;
 org.apache.ibatis.session.SqlSessionFactory;
 org.apache.ibatis.session.SqlSessionFactoryBuilder;
 org.junit.Test;

 com.gong.mybatis.bean.Employee;
 com.gong.mybatis.dao.EmployeeMapper;
 com.gong.mybatis.dao.EmployeeMapperAnnotation;

 TestMybatis {
    
    public SqlSessionFactory getSqlSessionFactory() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream is = Resources.getResourceAsStream(resource);
        return new SqlSessionFactoryBuilder().build(is);
    }
    
    @Test
    void test03()  IOException {
        SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
        //不会自动提交数据
        SqlSession openSession = sqlSessionFactory.openSession();
        try {
            EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.);
            /*
            //添加员工
            Employee employee = new Employee(null,"bob","1","123455777@qq.com");
            mapper.addEmp(employee);
            
            /*
            //修改员工
            Employee employee = new Employee(1,"xiximayou","xiximayou@qq.com");
            mapper.updateEmp(employee);
            */
            
            //删除员工
            Integer id = 3;
            mapper.deleteEmp(id);
            手动提交数据
            openSession.commit();
            
            
        } finally {
             TODO: handle finally clause
            openSession.close();
        }
    }

}

原本数据库中存在的数据:

?结果:

(1)添加

(2)修改

(3) 删除

继查找功能之后,本节实现的增删改功能均已正确实现。?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读