四时宝库

程序员的知识宝库

mybatis-friend 可视化mapper-generator

原文:https://www.jianshu.com/p/fec391058613

作者:AlanSun2

来源:简书

声明:本文为二次转载,侵删

这是一个由 JavaFX,SpringBoot 开发的 mybatis-mapper-generator 小工具。可以让你快速生成数据库对应的实体类以及 Mybatis Mapper。目前本工具只支持 MySQL和与MySQL兼容的数据库(例如,MariaDB,POLARDB等)。如果有需求可以在 issue 上提,谢谢!

「Mybatis」如何继承Mybatis中的Mapper.xml文件

最近在写一个 Mybatis 代码自动生成插件,用的是Mybatis来扩展,其中有一个需求就是 生成javaMapper文件和 xmlMapper文件的时候 希望另外生成一个扩展类和扩展xml文件。原文件不修改,只存放一些基本的信息,开发过程中只修改扩展的Ext文件

形式如下:

Mybatis Generator这样用不担心自定义开发的Mapper方法被覆盖了


前言

说到ORM工具,Mybatis无疑是当下最流行的一款。搭建一个新的项目首先就要集成Mybatis,通过Mybatis Generator逆向生成基本的增删查改xml文件和Mapper接口文件,代码中可以直接使用其进行数据库操作可以说非常方便。但是基本的增删查改不能满足复杂的业务需求,当我们在xml文件和Mapper接口文件中编写了大量的自定义方法后,有一天需求需要变更字段,这时就需要重新生成xml文件和Mapper接口文件,如果在原项目目录中直接生成原来文件会被覆盖掉,我们编写的大量的自定义方法会因此而丢失。之前的做法是换一个目录生成,将生成的新文件内容拷贝到原来的文件中,这样做是可行的,但是原来的文件已经被自定义方法污染严重,生成的方法和自定义的方法交融在一起,需要很仔细地去寻找一不小心就会删除过多代码,导致程序出错。

支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?

在 MyBatis 中,Mapper 接口的方法不能重载的原因主要是因为 MyBatis 是通过 Mapper 接口方法名来映射 SQL 语句的。如果允许方法重载,会导致方法名相同但参数不同的情况,这样 MyBati就无法准确地根据方法名来映射正确的 SQL 语句。

Mybatis中mapper相关注解解析类详解

上一篇文章分析发现解读mapper关键是两个类MapperAnnotationBuilder和XMLMapperBuilder,今天先来看MapperAnnotationBuilder。

基础介绍

根据MapperAnnotationBuilder和XMLMapperBuilder两个的名字大概也可以猜出来他们的作用,MapperAnnotationBuilder应该是来处理mapper注解的,而XMLMapperBuilder是来处理mapper.xml文件的。

mybatis根据表逆向自动化生成代码:自动生成实体类、mapper文件

PHP浮点数计算bug(浮点数csdn)

在做php浮点数计算是遇到一个特殊的数字问题,如下式

(int)(0.29 * 100) = ?	 

上式期望值是29,但是通过php计算得到的结果却是28。

这是因为php的浮点数计算是不精确的,0.29 * 100 =28.9999999...再进行强制类型转换成int型时就得到了28。

PHP 隐式转换(自动装换)和 bc 精度函数

<?php

echo 1+true; //true -> 1

echo '<hr />';

echo 1+false; //false -> 0

echo '<hr />';

echo 1.1+false;

PHP 精确运算(php精度函数)

利用PHP的bc库

bcadd — 加法

bccomp — 比较

bcdiv — 相除

bcmod — 求余数

bcmul — 乘法

bcpow — 次方

bcpowmod — 先次方然后求余数

bcscale — 给所有函数设置小数位精度

PHP——bc函数及其应用详解(php bcmul)

bcadd —— 两个任意精度数字的加法计算 (PHP 4, PHP 5, PHP 7, PHP 8)

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接