栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis-plus使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis-plus使用

 

目录

 优势

问题:使用MyBatis 查询数据库查出有数据 但返回对象为null

 自动生成代码

 动态数据源时可能用到的resultset读取方法

 参考


MyBatis-Plus为简化开发而生https://mp.baomidou.com/

 优势

 主要是不想使用mybatis里的xml文件,觉得这样的形式更好。可以使用baseMapper的一些方法。

也可以直接 使用注释的方式来扩展sql进行使用。

比较丰富的mp函数。 可以看下参考

 

 

问题:使用MyBatis 查询数据库查出有数据 但返回对象为null

   百度上有很多答案,通过各种注释进行保障,驼峰命名等,归要结底,实际上就是mybatis-plus的规则不识别你制作的entity,不管你多小心,总会出点小问题吧。看它自己生成的,将它会误解的,都标识上了合适的注释;对于类型,比如timestamp,我们可能用date 等,它用的是如下图2.

 

 

 自动生成代码

 

package com.gbcom.dbmiddle.taos.util;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class MysqlGenerator {
    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();
        //1、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
        gc.setAuthor("duanxiongwen"); //设置作者
        gc.setOpen(false);
        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
        gc.setbaseResultMap(true); //生成resultMap
        mpg.setGlobalConfig(gc);
 
        //2、数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://10.60.2.186:8166/mesh?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123456");
        mpg.setDataSource(dsc);
 
        // 3、包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("sys2");
        pc.setParent("com.gbcom.dbmiddle.taos");
        mpg.setPackageInfo(pc);
 
        // 4、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        // strategy.setSuperControllerClass("com.lcy.demo.sys.controller.baseController");
        // strategy.setSuperEntityClass("com.lcy.demo.sys.entity.baseEntity");
        // strategy.setTablePrefix("t_"); // 表名前缀
        strategy.setEntityLombokModel(true); //使用lombok
        strategy.setInclude("mesh_info_topo");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
        mpg.setStrategy(strategy);
 
        //5、执行
        mpg.execute();
    }
 
}

 动态数据源时可能用到的resultset读取方法

上述自动生成的带DATA注释的entity,会影响Beanlisthanlder的使用,这样entity自己再生成个带set,get的实体即可。

 

 参考

Mybatis-plus使用QueryWrapper_丁东的博客-CSDN博客按照惯例先奉上mybatis plus官方文档的链接https://mp.baomidou.com/guide/,有精力的可以进去学习一下。queryWrapper是mybatis plus中实现查询的对象封装操作类先看一下QueryWrapper的方法函数名说明例子eq等于 =例:eq(“name”,“张三”) :name = ‘张三’ne不等于<>例: eq(“name”,“老王”)—>name = ‘老王’gt大于>例:g.https://blog.csdn.net/ddd295569371/article/details/117079375resultset读取方法:

https://blog.csdn.net/u012060033/article/details/81121684

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号