返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis 动态SQL搭建环境的全过程
  • 750
分享到

Mybatis 动态SQL搭建环境的全过程

2024-04-02 19:04:59 750人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

1. mybatis–动态sql 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如

1. mybatis–动态sql

动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。

在 MyBatis 之前的版本中,需要花时间了解大量的元素。
借助功能强大的基于 OGNL 的表达式,MyBatis 3 替换了之前的大部分元素,
大大精简了元素种类,现在要学习的元素种类比原来的一半还要少。

if
choose (when, otherwise)
trim (where, set)
foreach

1.1 什么是动态SQL?

动态SQL就是 指根据不同的条件生成不同的SQL语句

1.2 搭建环境

 1.2.1 创建表

执行此sql语句


CREATE TABLE `blog`(
	`id` VARCHAR(50) NOT NULL COMMENT '博客id',
	`title` VARCHAR(100) NOT NULL COMMENT '博客标题',
	`author` VARCHAR(30) NOT NULL COMMENT '博客作者',
	`create_time` DATETIME NOT NULL COMMENT '创建时间',
	`views` INT(30) NOT NULL COMMENT '浏览量'
)ENGINE=INNODB DEFAULT CHARSET=utf8

执行结果:

1.2.2 创建一个基础工程

1.2.2.1 导包

pom.xml


    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

1.2.2.2 编写配置文件

mybatis-config.xml


    <!--    引入外部配置文件-->
    <properties resource="db.properties"/>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <!--       是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <typeAliases>
        <typeAlias type="com.tian.pojo.Blog" alias="Blog"/>
    </typeAliases>

1.2.2.3 编写实体类

Blog.java


package com.tian.pojo;

import lombok.Data;

import java.util.Date;

@Data
public class Blog {
    private String id;
    private String title;
    private String author;
    private Date createTime; //属性名和字段名不一致 数据库是 create_time
    private int views;
}

1.2.2.4 编写实体类对应Mapper接口和Mapper.XML文件

BlogMapper.java


package com.tian.dao;

import com.tian.pojo.Blog;

public interface BlogMapper {
    //    插入数据
    int addBlog(Blog blog);
}

BlogMapper.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.tian.dao.BlogMapper">
    <insert id="addBlog" parameterType="Blog">
        insert into mybatis.blog(id, title, author, create_time, views)
        values (#{id}, #{title}, #{author}, #{createTime}, #{views});
    </insert>
</mapper>

1.2.2.5 编写IDUtils .java用于生成随机的ID

IDUtils .java


package com.tian.util;

import org.junit.Test;

import java.util.UUID;

@SuppressWarnings("all") // 忽略所有警告
public class IDUtils {
    public static String getId() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    @Test
    public void test() {
        System.out.println(getId());
        System.out.println(getId());
        System.out.println(getId());
        System.out.println(getId());
        System.out.println(getId());
        System.out.println(getId());
    }
}

运行结果:

1.2.2.6 向表中插入数据

Test.java


import com.tian.dao.BlogMapper;
import com.tian.pojo.Blog;
import com.tian.util.IDUtils;
import com.tian.util.MybatisUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.Date;

public class Test {
    @org.junit.Test
    public void test() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
        Blog blog = new Blog();

        blog.setId(IDUtils.getId());
        blog.setTitle("Mybatis");
        blog.setAuthor("天天天");
        blog.setCreateTime(new Date());
        blog.setViews(9999);

        mapper.addBlog(blog);

        blog.setId(IDUtils.getId());
        blog.setTitle("Java");
        mapper.addBlog(blog);

        blog.setId(IDUtils.getId());
        blog.setTitle("spring");
        mapper.addBlog(blog);

        blog.setId(IDUtils.getId());
        blog.setTitle("微服务");
        mapper.addBlog(blog);

        sqlSession.close();
    }
}

运行结果:



现在我们吧表中的数据稍微更改下

总结

到此这篇关于Mybatis 动态SQL搭建环境的文章就介绍到这了,更多相关Mybatis动态SQL环境内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Mybatis 动态SQL搭建环境的全过程

本文链接: https://lsjlt.com/news/125222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mybatis 动态SQL搭建环境的全过程
    1. Mybatis–动态SQL 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如...
    99+
    2024-04-02
  • 怎么在Mybatis中搭建动态SQL环境
    今天就跟大家聊聊有关怎么在Mybatis中搭建动态SQL环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. Mybatis–动态SQL动态 SQL 是 MyBatis 的强大特性...
    99+
    2023-06-14
  • MyBatis 环境搭建配置全过程【IDEA】
    文章目录 一、MyBatis 介绍二、MyBatis 环境搭建1.MyBatis 下载2.配置 jdk 版本3.创建 Maven 工程4.IDEA 连接数据库5.项目文件构架6.引入相关依赖7.命令行创建数据库8.数据库配置文件9....
    99+
    2023-08-17
    1024程序员节 java mybatis
  • 使用IDEA搭建MyBatis环境详细过程
    创建一个项目 这里根据需求自己选择 在pom.xml中导入mybatis的核心jar包 Mybatis 源码下载 https://github.com/mybatis/mybat...
    99+
    2024-04-02
  • Selenium+Python自动化脚本环境搭建的全过程
    目录一、Python环境搭建1、下载安装包2、验证是否安装成功、以及是否有pip3、安装Selenium libraries二、安装谷歌浏览器和WebDriver1、安装谷歌浏览器2...
    99+
    2024-04-02
  • nvmmac环境搭建过程
    目录原因安装下载完成大概如此临时环境变量配置配置永久环境变量原因 需要用到多个node环境所以需要安装nvm,故此有本文,不成功来打我! 安装 curl -o- https://r...
    99+
    2023-02-16
    nvm mac 环境搭建 nvm mac
  • 教你使用eclipse 搭建Swt 环境的全过程
    目录一、查看当前使用的eclipse 版本型号二、到官网上去下载相匹配的SWT插件,或者直接在线安装三、安装SWT插件1、在线安装2、本地安装四、激活SWT插件,未激活的插件只能够使...
    99+
    2024-04-02
  • VS Code C++环境的搭建过程
    目录1.搭建C/C++2.注意事项Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大...
    99+
    2024-04-02
  • django项目环境的搭建过程
    本篇内容介绍了“django项目环境的搭建过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装环境:centos7.41 安装nginx&...
    99+
    2023-06-02
  • yolov5win10CPU与GPU环境搭建过程
    目录前言一、安装pytorch1.创建新的环境2.下载YOLOv5 github项目3.安装相关依赖库和包4.验证二、运行detect.py文件总结前言 最近实习任务为黑烟检测,想起...
    99+
    2024-04-02
  • Appium环境搭建详细过程
    这篇文章主要介绍“Appium环境搭建详细过程”,在日常操作中,相信很多人在Appium环境搭建详细过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Appium环境搭建详细过程”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-15
  • Seata 环境搭建部署过程
    目录前提准备1.下载2.建表3.配置 nacos3.1 上传配置至Nacos配置中心4.修改 appplication.yml4.1 seata.store4.2 seata.con...
    99+
    2022-11-13
    Seata 环境搭建 Seata搭建 Seata部署
  • Spark在Win10下的环境搭建过程
    前言  本章将介绍如何在WIN10下实现spark环境搭建。  本章概要  1、版本说明  2、环境准备: jdk配置; ...
    99+
    2024-04-02
  • docke-cli的调试环境搭建过程
    目录搭建docke-cli的调试环境1. 安装go开发环境2. 修改部分go 环境变量3. 创建目录4.下载代码5. 配置VScode搭建docke-cli的调试环境 在搭建dock...
    99+
    2022-11-16
    docke cli调试环境 docker调试环境 搭建docke cli
  • Python3.9环境搭建RobotFramework的详细过程
    目录Python3.9.9+RobotFramework环境搭建一、Python安装二、RobotFramework安装三、WxPython安装四、RIDE安装五、Selenuim2...
    99+
    2023-01-15
    Python3.9搭建RobotFramework RobotFramework环境搭建
  • 本地使用Docker搭建go开发环境的全过程
    目录前言安装1.docker安装2.go安装3.配置4.运行5.完成总结前言 对于我这种小白来说,本地环境搭建常规的操作一向是直接去go官网下载go安装包,本机进行安装,然后配置相应...
    99+
    2024-04-02
  • golang beego框架环境搭建过程
    目录环境搭建1.开启gomod设置代理2.安装beego和bee3.升级bee4.zsh: command not found: bee5.bee相关命令6.项目启动7.beego项...
    99+
    2024-04-02
  • Win10系统下Pytorch环境的搭建过程
    前言 以下述环境为例: python=3.7 pytorch=1.7.1 torchvision==0.8.2 cudatoolkit=10.1 pytorch和cuda版本对应参考...
    99+
    2024-04-02
  • Docker中搭建配置Git环境的过程
    Docker中配置Git环境 工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境。 由于在Docker中对Git仓库操作是全自动化...
    99+
    2024-04-02
  • 部署Nacos的源码环境搭建过程
    目录正文启动类设置单机启动启动输出查看控制台正文 最近在学习nacos,通过调式源码查看服务注册和发现流程和原理,本地部署naos源码需要一定的步骤,本文主要做nacos源码部署。 ...
    99+
    2023-02-09
    Nacos源码部署环境搭建 Nacos源码部署
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作