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


    借之前配置好的环境:

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

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

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

    3、EmployeeMapper.java

    package com.gong.mybatis.dao;
    
    import com.gong.mybatis.bean.Employee;
    
    public interface EmployeeMapper {
        public Employee getEmpById(Integer id);
        
        public boolean addEmp(Employee employee);
        
        public void updateEmp(Employee employee);
        
        public void 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">
     
    <mapper 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}
        </select>
        <insert id="addEmp" parameterType="com.gong.mybatis.bean.Employee">
            insert into tbl_employee(last_name,gender,email)
            values(#{lastName},#{gender},#{email}) 
        </insert>
        <update id="updateEmp" >
            update tbl_employee set last_name=#{lastName},gender=#{gender},email=#{email}
            where id = #{id}
        </update>
        <delete id="deleteEmp">
            delete from tbl_employee where id=#{id}
        </delete>
    </mapper>

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

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

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

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

     结果:

    (1)添加

    (2)修改

    (3) 删除

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

  • 相关阅读:
    冒泡排序与选择排序
    SVN-cheanup反复操作失败的问题。
    js区分汉字和字符,校验长度
    maven的安装与使用
    java获取登陆用户的IP地址
    kafka创建topics 错误: 找不到或无法加载主类 FilesJavajdk1.7.0_80lib;C:Program
    SOAPwebservice 与Restfull webservice之间的区别
    CAD数据导入Arcgis10.1的依赖关系
    wpf之StackPanel、WrapPanel、WrapPanel之间的关系
    浅谈修饰符
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12210113.html
Copyright © 2020-2023  润新知