【MyBatis】mybatis语法——mapper.xml文件insert/delete/update/select(增删改查)用法

【MyBatis系列】基础篇——curd语法

【MyBatis系列】基础篇——参数传递

【MyBatis系列】基础篇——ResultMap自定义映射

【MyBatis系列】基础篇——动态sql

【MyBatis系列】基础篇——一级缓存 二级缓存

【MyBatis系列】基础篇——驼峰式命名配置

【MyBatis系列】插件篇——逆向工程(代码生成器)

【MyBatis系列】插件篇——PageHelper分页


————————CURD语法————————


接口类

package com.mybatislearn.mapper;

import com.mybatislearn.entity.Employee;

public interface EmployeeMapper {

    /**
     * 根据id查询员工信息
     * @param id
     * @return
     */
    public Employee getEmployeeById(int id);

    /**
     * 增加员工信息
     * @param employee
     * @return
     */
    public Integer insertEmployee(Employee employee);


    /**
     * 修改员工信息
     * @param employee
     * @return
     */
    public boolean updateEmployee(Employee employee);

    /**
     * 删除员工信息
     * @param id
     * @return
     */
    public void deleteEmployee(Integer id);

}

实现类

package com.mybatislearn.test;

import com.mybatislearn.entity.Employee;
import com.mybatislearn.mapper.EmployeeMapper;
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 java.io.InputStream;

/**
 * @program: mybatis01
 * @description:mybatislearn
 * @author: mybatis
 * @create: 2021-08-11 17:07
 **/
public class TestMyBatis {
    @Test
    public void test()  throws Exception{
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession(true);
        try {

   				 //Mapper接口:获取Mapper接口的 代理实现类对象
            EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);

            //1: 查询操作调用实际方法实现操作
            Employee employee = mapper.getEmployeeById(1);
            System.out.println(employee);


            //2: 添加操作
            Employee employee = new Employee();
            employee.setLastname("tom");
            employee.setEmail("tom@qq.com");
            employee.setGender("1");
            Integer rows = mapper.insertEmployee(employee);
            System.out.println(rows);


            //3:修改操作
            Employee employee = new Employee();
            employee.setLastname("tomm");
            employee.setEmail("tom@163.com");
            employee.setGender("1");
            employee.setId(9);
            boolean isupdate = mapper.updateEmployee(employee);
            System.out.println(isupdate);

            //4:删除操作
            Employee employee = new Employee();
            mapper.deleteEmployee(9);

        } finally {
            session.close();
        }
    }

}

mapper.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.mybatislearn.mapper.EmployeeMapper">
    <!--查询-->
    <select id="getEmployeeById" resultType="com.mybatislearn.entity.Employee">
        select * from tbl_employee where id = #{id}
    </select>
    
    <!--增加:useGeneratedKeys和keyProperty属性是设置自增长和自增长的字段的-->
    <insert id="insertEmployee" parameterType="com.mybatislearn.entity.Employee" useGeneratedKeys="true" keyProperty="id>
        INSERT INTO tbl_employee(lastname,email,gender) VALUES(#{lastname},#{email},#{gender})
    </insert>
    
    <!--修改-->
    <update id="updateEmployee" parameterType="com.mybatislearn.entity.Employee">
        UPDATE tbl_employee SET lastname=#{lastname},email=#{email},gender=#{gender} WHERE id=#{id}
    </update>
    
    <!--删除-->
    <!--删除方法的返回值是基本类型,所以parameterType可以忽略不写-->
    <delete id="deleteEmployee" parameterType="java.lang.Integer">
        delete from tbl_employee where id=#{id}
    </delete>
</mapper>


表结构

在这里插入图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyStreetDog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值