MyBatis学习:动态SQL mapper.XML配置文件中<sql>标签和<include>标签的使用

1、本篇博文的背景和目的

我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。阐述了MVC架构模式和三层架构,回顾了JDBC连接数据库,建立了使用MyBatis和MySQL的Maven项目,解释了STDOUT_LOGGING日志和手动提交事务,记录了MyBatis中#占位符的使用方法,回顾了MyBatis执行SQL语句的过程和使用到的一些重要类和接口,记录了将固定化的代码整合到一个工具类MyBatisUtil中,以减少代码量。记录了dao层接口的实现以及为什么要实现它。记录了MyBatis动态代理和使用动态代理的要求以及使用了动态代理生成的实现类。记录了MyBatis框架下传参的五种方法,占位符#和$,如何自定义别名,resultType属性的使用方法,如何处理数据库中列名和JAVA对象属性名不一致的情况,如何组装传递模糊查询的条件(一共有两种方式),动态SQL中标签,标签的使用。本篇博文记录标签的使用。

2、我的上一篇博文

我上一篇博文记录的是mapper.xml文件中标签的使用,感兴趣的读者可以移步查阅,链接如下所示:

MyBatis学习:动态SQL中<foreach>标签的使用_你是我的日月星河的博客-CSDN博客icon-default.png?t=M85Bhttps://blog.csdn.net/weixin_46281472/article/details/127176953

3、标签解决的问题和使用它的语法

sql标签表示一段sql代码, 可以是表名,几个字段,或者是  where条件等;

其实就是代码复用的一种方案

使用方法(语法)
1)首先就是 在  mapper文件中定义  sql代码片段, 
 部分SQL语句  
2)在其他的位置使用标签    引用某一个代码片段  ,其实是
MyBatis将这个代码片段粘贴了过来;

或者应该说标签是和标签是必须结合一起使用的。

在一个mapper文件中,代码片段是可以有许多个的;

按照规范标签都放在mapper.xml文件的前面。

4、使用标签和标签的代码(Maven项目)

dao层方法代码

    //测试使用标签
    List selectAll();

mapper.XML文件代码


    
        select * from student
    

    

Main方法中测试代码如下

package com.dcy;

import com.dcy.dao.StudentDao;
import com.dcy.domain.Student;
import com.dcy.utils.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;

import java.util.List;
//测试使用标签和标签
public class Starter05 {
    public static void main(String[] args) {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        StudentDao studentDao = sqlSession.getMapper(StudentDao.class);
        List students = studentDao.selectAll();
        System.out.println(students);
    }
}

5、本博文所用代码的仓库地址

6、我的下一篇博文

你可能感兴趣的:(记录学习MyBatis,mybatis,学习,sql)