千家信息网

Mybatis增删查改的命令用法

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍"Mybatis增删查改的命令用法",在日常操作中,相信很多人在Mybatis增删查改的命令用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mybat
千家信息网最后更新 2025年01月25日Mybatis增删查改的命令用法

这篇文章主要介绍"Mybatis增删查改的命令用法",在日常操作中,相信很多人在Mybatis增删查改的命令用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mybatis增删查改的命令用法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • 一、说明

  • 二、开搞

    • 2.1 数据库表

    • 2.1 创建实体类

    • 2.2 创建接口

    • 2.3 创建XML

    • 2.5 测试类

一、说明

这二篇涉及到映射Java实体类、面向接口编写Mybatis、增删查改示例

二、开搞

2.1 数据库表

上一篇好像丢了数据库创建语句

-- 主键自增DROP TABLE IF EXISTS `test`;CREATE TABLE `test`  (  `id` bigint(20) NOT NULL AUTO_INCREMENT,   `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `salary` decimal(10, 2) NOT NULL,  PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ------------------------------ 插入测试数据-- ----------------------------INSERT INTO `test` VALUES (1, '小明', 30000.00);

2.1 创建实体类

package entity;import java.math.BigDecimal;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 22:05 */public class TestEntity {    private  Long id;    private String name;    private BigDecimal salary;    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public BigDecimal getSalary() {        return salary;    }    public void setSalary(BigDecimal salary) {        this.salary = salary;    }    @Override    public String toString() {        return "TestEntity{" +                "id=" + id +                ", name='" + name + '\'' +                ", salary=" + salary +                '}';    }}

2.2 创建接口

package dao;import entity.TestEntity;import java.util.List;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程  分享一个生活在互联网底层做着增删改查的码农的感悟与学习 * @create 2021-08-25 22:07 */public interface TestMapper {    // 新增    void save(TestEntity testEntity);    // 修改    void update(TestEntity testEntity);    // 删除 这里就一个参数 所以不用@Param 也不用Map 自定义实体类等    void delete(Long id);    // 根据主键查询    TestEntity get(Long id);    // 查询所有数据    List list();    // 根据名称模糊查询    List listByNameLike(String name);}

2.3 创建XML

mybatis-config.xml

                                                                                                                                            

TestMapper.xml

                INSERT INTO `test`( `name`, `salary`) VALUE (#{name}, #{salary});                    delete from test where id = #{id}                                        update test set name =#{name}, salary = #{salary} where id = #{id}    

2.5 测试类

先看一下数据库数据

新增数据

import dao.TestMapper;import entity.TestEntity;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 java.io.InputStream;import java.math.BigDecimal;import java.util.List;import java.util.Map;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 21:26 */public class TestMain {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 通过sesson获取Mapper 这个Mapper会编程Mybatis的代理Mapper            TestMapper mapper = session.getMapper(TestMapper.class);            System.out.println(mapper);            // 1. 插入数据            TestEntity entity = new TestEntity();            entity.setName("小月鸟");            entity.setSalary(new BigDecimal(50000));            mapper.save(entity);            TestEntity entity02 = new TestEntity();            entity02.setName("小强01");            entity02.setSalary(new BigDecimal(50000));            mapper.save(entity02);            TestEntity entity03 = new TestEntity();            entity03.setName("小强02");            entity03.setSalary(new BigDecimal(50000));            mapper.save(entity03);            // 手动提交            session.commit();        }    }}

执行完查看数据库数据:

根据Id 查询数据

import dao.TestMapper;import entity.TestEntity;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 java.io.InputStream;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 21:26 */public class TestMain {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 通过sesson获取Mapper 这个Mapper会编程Mybatis的代理Mapper            TestMapper mapper = session.getMapper(TestMapper.class);            System.out.println(mapper);            // 1. 根据Id 查询数据            TestEntity testEntity = mapper.get(1L);            System.out.println("查询数据为:"+testEntity);        }    }}

输出结果:

更新数据
把"小月鸟" 工资改成40000

import dao.TestMapper;import entity.TestEntity;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 java.io.InputStream;import java.math.BigDecimal;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 21:26 */public class TestMain {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 通过sesson获取Mapper 这个Mapper会编程Mybatis的代理Mapper            TestMapper mapper = session.getMapper(TestMapper.class);            System.out.println(mapper);            // 更新            TestEntity entityUpdate = new TestEntity();            entityUpdate.setId(40L);            entityUpdate.setName("小月鸟");            entityUpdate.setSalary(new BigDecimal(40000));            mapper.update(entityUpdate);            session.commit();        }    }}

执行完查看数据库数据:

查询全部数据

import dao.TestMapper;import entity.TestEntity;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 java.io.InputStream;import java.util.List;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 21:26 */public class TestMain {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 通过sesson获取Mapper 这个Mapper会编程Mybatis的代理Mapper            TestMapper mapper = session.getMapper(TestMapper.class);            System.out.println(mapper);            // 查询列表            List list = mapper.list();            if (list.size() >0) {                for (int i = 0; i < list.size(); i++) {                    System.out.println(list.get(i));                }            }        }    }}

输出结果:

根据名称查询数据

import dao.TestMapper;import entity.TestEntity;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 java.io.InputStream;import java.util.List;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 21:26 */public class TestMain {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 通过sesson获取Mapper 这个Mapper会编程Mybatis的代理Mapper            TestMapper mapper = session.getMapper(TestMapper.class);            System.out.println(mapper);            // 根据名称模糊查询列表            List list = mapper.listByNameLike("强");            if (list.size() >0) {                for (int i = 0; i < list.size(); i++) {                    System.out.println(list.get(i));                }            }        }    }}

输出结果:

删除数据

import dao.TestMapper;import entity.TestEntity;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 java.io.InputStream;import java.util.List;/** * @author 发现更多精彩  关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作 * @create 2021-08-25 21:26 */public class TestMain {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 通过sesson获取Mapper 这个Mapper会编程Mybatis的代理Mapper            TestMapper mapper = session.getMapper(TestMapper.class);            System.out.println(mapper);            // 删除数据            mapper.delete(1L);                        session.commit();        }    }}

执行完查看数据库数据:

项目结构:

到此,关于"Mybatis增删查改的命令用法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0