博客
关于我
Mybatis--动态SQL(搭建环境)
阅读量:273 次
发布时间:2019-03-03

本文共 3154 字,大约阅读时间需要 10 分钟。

1. Mybatis–动态SQL

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

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

org.projectlombok
lombok
1.18.12
provided

1.2.2.2 编写配置文件

mybatis-config.xml


1.2.2.3 编写实体类

Blog.java

package com.tian.pojo;import lombok.Data;import java.util.Date;@Datapublic 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

insert into mybatis.blog(id, title, author, create_time, views) values (#{id}, #{title}, #{author}, #{createTime}, #{views});

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();    }}

运行结果:

在这里插入图片描述
在这里插入图片描述
现在我们吧表中的数据稍微更改下
在这里插入图片描述



转载地址:http://pmkl.baihongyu.com/

你可能感兴趣的文章
从Android JAR文件创建Delphi接口的第三方工具
查看>>
Python学习笔记
查看>>
Kotlin实现冒泡排序
查看>>
C#控制台冒泡程序
查看>>
NodeJS下TypeScript环境安装
查看>>
论如何找tensorflow的源码
查看>>
Promise封装ajax请求
查看>>
修改Promise对象的状态的方式
查看>>
汽车后市场,小程序为何独占鳌头
查看>>
宠物行业蓝海,APP如何突出重围?
查看>>
短视频小程序,互联网新风口
查看>>
彻底弄懂Python标准库源码(一)—— os模块
查看>>
从零开始免费搭建自己的博客(七)——迁移 CSDN 博客到个人博客站点
查看>>
RF新手常见问题总结--(基础篇)
查看>>
spring框架读取json文件为字符串 推荐第一种
查看>>
SpringBoot配置文件中的值获取
查看>>
Java实现压缩与解压
查看>>
Mybatis-plus代码生成器模板(MySQL数据库)
查看>>
使用redis管理Mybatis的二级缓存
查看>>
使用redis管理Mybatis-Plus的二级缓存
查看>>