返回顶部
首页 > 资讯 > 精选 >Fluent Mybatis有什么用
  • 909
分享到

Fluent Mybatis有什么用

2023-06-20 19:06:50 909人浏览 安东尼
摘要

这篇文章主要介绍Fluent mybatis有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、啥是Fluent-Mybatis与Mybatis-Plus类似,是对Mybaits进一步的封装,使之语法简洁明了,

这篇文章主要介绍Fluent mybatis有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、啥是Fluent-Mybatis

与Mybatis-Plus类似,是对Mybaits进一步的封装,使之语法简洁明了,更重要的是不需要在自主创建Xml文件,可以只用一个实体类对象,通过代码生成器,在编译的过程中生成所需要的各类文件,简化了项目的基础构建,提高开发效率。

Fluent Mybatis有什么用

二、SpringBoot + Fluent-Mybatis

创建数据库测试

DROP TABLE IF EXISTS `t_user`;create table `t_user`(    id bigint auto_increment comment '主键ID' primary key,    name varchar(30) charset utf8 null comment '姓名',    age int null comment '年龄',    email varchar(50) charset utf8 null comment '邮箱',    gmt_create datetime null comment '记录创建时间',    gmt_modified datetime null comment '记录最后修改时间',    is_deleted tinyint(2) default 0 null comment '逻辑删除标识');

创建一个springboot项目,pom文件如下

<?xml version="1.0" encoding="UTF-8"?><project xmlns="Http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.3.1.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <groupId>com.mybatis.fluent</groupId>    <artifactId>fluent_mybatis</artifactId>    <version>0.0.1-SNAPSHOT</version>    <name>fluent_mybatis</name>    <description>Demo project for Spring Boot</description>    <properties>        <java.version>1.8</java.version>        <fluent.mybatis.version>1.5.6</fluent.mybatis.version>    </properties>    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter</artifactId>        </dependency>        <!--JDBC驱动-->        <dependency>            <groupId>mysql</groupId>            <artifactId>Mysql-connector-java</artifactId>            <scope>runtime</scope>        </dependency>        <!--Mybatis-->        <dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>2.0.1</version>        </dependency>        <!-- fluent mybatis依赖-->        <dependency>            <groupId>com.GitHub.atool</groupId>            <artifactId>fluent-mybatis</artifactId>            <version>${fluent.mybatis.version}</version>        </dependency>        <dependency>            <groupId>com.github.atool</groupId>            <artifactId>fluent-mybatis-processor</artifactId>            <version>${fluent.mybatis.version}</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <optional>true</optional>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>            <exclusions>                <exclusion>                    <groupId>org.junit.vintage</groupId>                    <artifactId>junit-vintage-engine</artifactId>                </exclusion>            </exclusions>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <configuration>                    <excludes>                        <exclude>                            <groupId>org.projectlombok</groupId>                            <artifactId>lombok</artifactId>                        </exclude>                    </excludes>                </configuration>            </plugin>        </plugins>    </build></project>

代码生成器

import cn.org.atool.generator.FileGenerator;import cn.org.atool.generator.annotation.Table;import cn.org.atool.generator.annotation.Tables;public class AppEntityGenerator {    public static void main(String[] args) {        FileGenerator.build(Abc.class);    }    @Tables(                        url = "jdbc:mysql://IP:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai",             username = "XXXXXX",            passWord = "XXXXXX",                        basePack = "com.mybatis.fluent.fluent_mybatis",                        srcDir = "/src/main/java",                        daoDir = "/src/main/java",                        gmtCreated = "gmt_create", gmtModified = "gmt_modified", logicDeleted = "is_deleted",                        tables = @Table(value = {"t_user"})    )    static class Abc {    }}

需要注意,默认的是Mysql数据库,如果需要其他数据库,需要手动配置dbType和driver,其他选项按照需要修改。例如oralce

import cn.org.atool.generator.FileGenerator;import cn.org.atool.generator.annotation.Table;import cn.org.atool.generator.annotation.Tables;import cn.org.atool.generator.database.DbType;public class AppEntityGenerator {    public static void main(String[] args) {        FileGenerator.build(Abc.class);    }    @Tables(                        dbType= DbType.oracle,            driver= "oracle.jdbc.OracleDriver",            url = "jdbc:oracle:thin:@IP:1521:orcl",            username = "XXXXXX",            password = "XXXXXX",                        basePack = "com.mybatis.fluent.fluent_mybatis",                        srcDir = "/src/main/java",                        daoDir = "/src/main/java",                        gmtCreated = "INSERT_DATE_TIME",                        tables = @Table(value = {"table_name"})    )    static class Abc {    }}

main方法启动执行,生成的项目结构,如果在执行是出现异常

Fluent Mybatis有什么用

需要暂时注释

Fluent Mybatis有什么用

当生成好对应文件,项目目录如下

Fluent Mybatis有什么用

此时TUserDaoImpl会有错误

Fluent Mybatis有什么用

此时将需要将之前注释的provided打开,在执行

Fluent Mybatis有什么用

执行过后,异常消除。此时你就拥有的对数据库此表的强大操作能力。

测试CURD

import cn.org.atool.fluent.mybatis.model.IPagedList;import cn.org.atool.fluent.mybatis.model.StdPagedList;import com.mybatis.fluent.fluent_mybatis.dao.impl.HospitalinfoDaoImpl;import com.mybatis.fluent.fluent_mybatis.dao.impl.TUserDaoImpl;import com.mybatis.fluent.fluent_mybatis.entity.HospitalinfoEntity;import com.mybatis.fluent.fluent_mybatis.entity.TUserEntity;import com.mybatis.fluent.fluent_mybatis.helper.TUserWrapperHelper;import com.mybatis.fluent.fluent_mybatis.wrapper.HospitalinfoQuery;import com.mybatis.fluent.fluent_mybatis.wrapper.TUserQuery;import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;import java.io.Serializable;import java.util.List;@SpringBootTestclass FluentMybatisApplicationTests {    @Resource    private TUserDaoImpl dao;    @Test    void add() {        TUserEntity entity = new TUserEntity().setAge(20).setEmail("122@163.com").setName("lisi").setIsDeleted(false);        Serializable id = dao.save(entity);        System.out.println("插入后返回的主键ID为:" + id);    }    @Test    void select(){                TUserQuery query = TUserQuery.query().limit(0,1);        List<TUserEntity> list = dao.listEntity(query);        System.out.println(list);    }    @Test    void upData(){        TUserEntity entity = dao.selectById(1L);        System.out.println(entity);        entity.setAge(2000).setEmail("120098922@qq.com").setName("lisi111").setIsDeleted(true);        System.out.println(entity);        boolean b = dao.updateById(entity);        System.out.println(b);    }    @Test    void delete(){        boolean b = dao.deleteById(1L);        System.out.println(b);        TUserQuery query = TUserQuery.query();        List<TUserEntity> list = dao.listEntity(query);        System.out.println(list);    }}

以上是“Fluent Mybatis有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Fluent Mybatis有什么用

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

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

猜你喜欢
  • Fluent Mybatis有什么用
    这篇文章主要介绍Fluent Mybatis有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、啥是Fluent-Mybatis与Mybatis-Plus类似,是对Mybaits进一步的封装,使之语法简洁明了,...
    99+
    2023-06-20
  • Fluent Mybatis中Update语法怎么用
    小编给大家分享一下Fluent Mybatis中Update语法怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!数据准备还是用之前在数据库存的数据,数据如下:Update语法简单的写法fm的update简单写...
    99+
    2023-06-21
  • springboot 中怎么整合fluent mybatis
    这篇文章给大家介绍springboot 中怎么整合fluent mybatis,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。导入pom依赖<!--     &nb...
    99+
    2023-06-20
  • Fluent Mybatis 批量更新的使用
    目录批量更新同一张表的数据 更新多条数据,每条数据都不一样java中for循环实现方式 一条SQL,服务端逐条更新 mybatis实现方式 使用FluentMybatis实现方式 使...
    99+
    2024-04-02
  • Fluent MyBatis怎么实现动态SQL
    这篇文章主要讲解了“Fluent MyBatis怎么实现动态SQL”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Fluent MyBatis怎么实现动态SQL”吧!目录数据准备代码生成在 W...
    99+
    2023-06-20
  • Mybatis有什么用
    这篇文章将为大家详细讲解有关Mybatis有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。简介MyBatis的前身叫iBatis,本是apache的一个开源项目, ...
    99+
    2024-04-02
  • MyBatis Plus有什么用
    小编给大家分享一下MyBatis Plus有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MyBatis Plus 是国内人员开发的 MyBatis 增强工...
    99+
    2023-06-02
  • Mybatis有什么作用
    这篇文章主要为大家展示了“Mybatis有什么作用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis有什么作用”这篇文章吧。Mybatis 是一个实现了数据持久化的 ORM 框架,简单...
    99+
    2023-06-02
  • Mybatis中PageHelper有什么用
    这篇文章主要介绍了Mybatis中PageHelper有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PageHelper是一款好用的开源免费的Mybatis第三方物理...
    99+
    2023-06-16
  • mybatis中selectKey有什么用
    这篇文章给大家分享的是有关mybatis中selectKey有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mybatis的selectKey作用当我们使用id自增操作Mybatis时,需要返回最新插入的i...
    99+
    2023-06-29
  • FluentMybatis怎么实现mybatis动态sql拼装和fluent api语法
    这篇文章主要讲解了“FluentMybatis怎么实现mybatis动态sql拼装和fluent api语法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“FluentMybatis怎么实现m...
    99+
    2023-06-20
  • mybatis命名空间有什么用
    MyBatis命名空间的作用是用来标识和管理Mapper接口或Mapper XML文件中定义的SQL语句。通过使用命名空间,可以将不...
    99+
    2023-08-18
    mybatis
  • MyBatis中SqlSessionFactory和SqlSession有什么用
    SqlSessionFactory是MyBatis的核心接口之一,用于创建SqlSession对象。SqlSessionFactor...
    99+
    2024-03-07
    MyBatis
  • Eclipse的插件MyBatis Editor有什么用
    这篇文章将为大家详细讲解有关Eclipse的插件MyBatis Editor有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MyBatis Editor是一个Eclipse的插件,用来编辑MyBat...
    99+
    2023-06-17
  • Mybatis中万能的Map有什么用
    这篇文章主要介绍Mybatis中万能的Map有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!万能的Map假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们需要考虑使用Map简单来说,map你用什么参数...
    99+
    2023-06-25
  • mybatis中的trim标签有什么用
    MyBatis中的trim标签用于在SQL语句的开头和结尾去除多余的空格,并可以在SQL语句的开头和结尾添加自定义的字符串。trim标签有以下几种使用方式:1. prefixOverrides:指定要删除的前缀字符串,只有当SQL语句以...
    99+
    2023-08-09
    mybatis trim
  • mybatis动态SQL标签有什么作用
    MyBatis动态SQL标签用于在SQL语句中添加条件判断和循环操作,根据条件动态生成SQL语句。通过使用动态SQL标签,可以根据不...
    99+
    2024-04-09
    mybatis
  • MyBatis中的LogFactory和Log接口有什么用
    在MyBatis中,LogFactory是用于创建Log实例的工厂类,而Log接口则是用于记录日志信息的接口。LogFactory负...
    99+
    2024-03-08
    MyBatis
  • Mybatis里有什么设计模式
    本篇内容介绍了“Mybatis里有什么设计模式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!建造者设计模式...
    99+
    2024-04-02
  • MyBatis中的#{}和${}有什么区别
    这篇文章主要介绍了MyBatis中的#{}和${}有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言在MyBatis 的映射配置文件中,动态传递参数有两种方式:#{...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作