(三)mybatisPlus自定义Sql语句

简介: mybatisPlus自定义Sql语句

mybatisPlus自定义Sql语句

前言:

能够使mybatis-plus像mybatis一样在xml中写SQL

前提是原本可以在项目中正常使用mybatis-plus

😄看mybatisPlus自定义Sql语句操作之前,建议先看

1️⃣Mybatis-plus(MP)中CRUD操作保姆级笔记

2️⃣mybatisPlus实现ActiveRecord(AR)操作笔记


四、自定义sql语句

建数据库表


image.png

实体类

@TableName(value = "dept")
public class Dept extends Model<Dept> {
    @Override
    protected Serializable pkVal() {
        return id;
    }
    /**
     * 设置表的主键,分布式id,使用了雪花算法,字符串类型
     */
   @TableId(value = "id",type = IdType.AUTO)
    private String id;
    private  String deptName;
    private String deptMobile;
    private Integer deptManager;

创建mapper

/**
 * DeptMapper是不需要使用的,MP需要使用DeptMapper获取到数据库的表的信息。
 * 如果不定义DeptMapper, MP会报错, 找不到表的定义信息
 * @author 王恒杰
 */
public interface DeptMapper extends BaseMapper<Dept> {
    /**
     * 添加
     */
    public void insertDept();
    /**
     * 通过id查询
     * @param id
     * @return
     */
   public Dept selectById(Integer id);
    /**
     * 通过姓名查询
     * @param name
     * @return
     */
   public List<Dept> selectByName(String name);
}

新建sql映射xml文件:DeptMapper.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.tjcu.mapper.DeptMapper">
<!--添加-->
    <insert id="insertDept">
    insert into dept values(#{id},#{deptName},#{deptMobile},#{deptManager})
    </insert>
    <!--通过id查询-->
    <select id="selectById" resultType="com.tjcu.entity.Dept">
        select * from dept where id=#{id}
    </select>
    <!--通过姓名查询-->
    <select id="selectById" resultType="com.tjcu.entity.Dept">
        select * from dept where dept_name=#{name}
    </select>
</mapper>

配置xml文件位置:配置application.yml (注意位置一定要对整齐)


image.png

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/plus?useSSL=false&serverTimezone=UTC
    username: root
    password: root
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath*:com.tjcu/*Mapper.xml

image.png


添加测试

 /* 
 @SuppressWarnings("all"):就是为了不让deptMapper报错
 */
@SuppressWarnings("all")
@RunWith(SpringRunner.class)
@SpringBootTest
public class DeptARTest {
    @Autowired
    private DeptMapper deptMapper;
    /**
     * 添加操作
     */
    @Test
    public void  insertDeptTest(){
        Dept dept = new Dept();
        dept.setDeptName("销售表");
        dept.setDeptMobile("1235678");
        dept.setDeptManager(2);
       deptMapper.insertDept(dept);
    }


image.png

添加日志


image.png

通过id查询

  /**
     * 查询操作
     */
    @Test
    public void  selectDeptTest(){
        Dept dept = new Dept();
        Dept dept1 = deptMapper.selectById(1);
        System.out.println(dept1);
    }

ID查询日志


image.png

通过姓名查询

    /**
     * 查询操作
     */
    @Test
    public void  selectDeptTest(){
        Dept dept = new Dept();
        List<Dept> depts = deptMapper.selectByName("销售表");
        System.out.println(depts);
    }

通过姓名查询日志

image.png

相关文章
|
2天前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
|
2天前
|
SQL XML Java
Mybatis进阶——动态SQL(1)
Mybatis进阶——动态SQL(1)
13 3
|
2天前
|
SQL 存储 开发框架
【Entity Framework】你必须了解的之自定义SQL查询
【Entity Framework】你必须了解的之自定义SQL查询
4 0
|
9天前
|
SQL XML Java
|
10天前
|
SQL
【MybatisPlus】条件构造器、自定义SQL、Service接口
【MybatisPlus】条件构造器、自定义SQL、Service接口
24 0
【MybatisPlus】条件构造器、自定义SQL、Service接口
|
14天前
|
SQL XML Java
MyBatis的强大特性--动态SQL
MyBatis的强大特性--动态SQL
30 2
|
14天前
|
SQL Java 数据库连接
实时计算 Flink版产品使用合集之怎么将MyBatis-Plus集成到SQL语法中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
22天前
|
SQL Java 数据库连接
【JavaEE】懒人的福音-MyBatis框架—复杂的操作-动态SQL(下)
【JavaEE】懒人的福音-MyBatis框架—复杂的操作-动态
14 0
|
22天前
|
SQL Java 数据库连接
【JavaEE】懒人的福音-MyBatis框架—复杂的操作-动态SQL(上)
【JavaEE】懒人的福音-MyBatis框架—复杂的操作-动态SQL
13 0
|
20天前
|
算法 Java 数据库连接
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档