这是单元测试代码:TESTTITLECASE.sql

SELECT TITLECASE('ABC_DEF_hgk') as BEANNAME FROM DUAL;
SELECT TITLECASE('www_mysql_com') as BEANNAME FROM DUAL;
SELECT FIRSTLETTERUPPERCASE('ABC') FROM DUAL;
SELECT FIRSTLETTERUPPERCASE('aBC') FROM DUAL;
SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('mysql', '.', 2), '.', -1);
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('www.mysql.com', '.', 1), '.', -1);
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('www.mysql.com', '.', 2), '.', -1);
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('www.mysql.com', '.', 3), '.', -1);

这是仿照MyBatis的功能实现:TITLECASE(这个是从Sublime里的Edit的Case下借鉴过来的)

CREATE DEFINER=`root`@`%` FUNCTION `TITLECASE`(x VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
READS SQL DATA
BEGIN
DECLARE i INT;
DECLARE n INT;
DECLARE y VARCHAR(255);
DECLARE word VARCHAR(255);
DECLARE wordWithCase VARCHAR(255); SET i = 1;
SET n = LENGTH(x) - LENGTH(REPLACE(x, '_', '')) + 1;
SET y = ''; WHILE i < n + 1 DO
SET word = SUBSTRING_INDEX(SUBSTRING_INDEX(x, '_', i), '_' , -1);
SET wordWithCase = CONCAT(IF(i=1,LOWER(SUBSTRING(word, 1, 1)),UPPER(SUBSTRING(word, 1, 1))), LOWER(SUBSTRING(word FROM 2)));
SET y = CONCAT(y,wordWithCase);
SET i = i + 1;
END WHILE; RETURN y;
END

这是一个副产品:单词首字符大写:FIRSTLETTERUPPERCASE.sql

CREATE DEFINER=`root`@`%` FUNCTION `FIRSTLETTERUPPERCASE`(x VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
READS SQL DATA
BEGIN
return CONCAT(UPPER(SUBSTRING(x, 1, 1)), LOWER(SUBSTRING(x FROM 2)));
END

MyBatis自动生成Java/C#的Bean(Entity)的等价MYSQL实现函数的更多相关文章

  1. mybatis自动生成java代码

    SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...

  2. mybatis怎样自动生成java类,配置文件?

    其实没有什么东西是可以自动生成的,只不过是别人已经写好了,你调用罢了. 所以想要mybatis自动生成java类,配置文件等,就必须要一些配置和一些jar包.当然这些配置也很简单. 为了有个初步的认识 ...

  3. mybatis generator配置,Mybatis自动生成文件配置,Mybatis自动生成实体Bean配置

    mybatis generator配置,Mybatis自动生成文件配置,Mybatis自动生成实体Bean配置 ============================== 蕃薯耀 2018年3月14 ...

  4. 使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件

    根据JSON文件自动生成Java POJO类(Java Bean)源文件 本文介绍使用程序jsonschema2pojo来自动生成Java的POJO类源文件,本文主要使用maven,其他构建工具请参考 ...

  5. mybatis自动生成代码插件mybatis-generator使用流程(亲测可用)

    mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间 坐着在idea上用maven构建spri ...

  6. Mybatis自动生成实体类

    Maven自动生成实体类需要的jar包 一.pom.xml中 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...

  7. Mybatis 自动生成代码,数据库postgresql

    最近做了一个项目,使用Mybatis自动生成代码,下面做一下总结,被以后参考: 一.提前准备: 1.工具类:mybatis-generator-core-1.3.2.jar 2.postgresql驱 ...

  8. 使用mybatis-generator插件结合tk.mybatis自动生成mapper二三事

    本篇文章将介绍使用spring boot框架,引入mybatis-generator插件,结合tk.mybatis自动生成Mapper和Entity的一整套流程,其中包括最重要的踩坑与填坑.     ...

  9. mybatis自动生成model、dao及对应的mapper.xml文件

    背景: 日常开发中,如果新建表,手动敲写model.dao和对应的mapper.xml文件,费时费力且容易出错, 所以采用mybatis自动生成model.dao及对应的mapper.xml文件.代码 ...

随机推荐

  1. centos7下安装docker(3.2创建镜像build)

    通过Dockerfile创建镜像 注:这个Dockerfile一开始真的不知道是在哪来的,还以为是在官网下载下来得(当然网上也有很多dockerfile的模板,参考:https://hub.docke ...

  2. centos7下安装docker(3.1创建镜像commit)

    docker commit创建镜像 步骤:1.运行容器 2.修改容器 3.将容器保存为镜像 1. 注:-it是以交互模式进入容器,并打开终端 2.安装一个vim进行修改镜像 yum install - ...

  3. esp8266(3) Arduino通过ESP8266连接和获取网站源代码

    http://www.plclive.com/a/tongxinjiekou/2016/0422/374.html 在上一篇8266的基础上,这一篇做个具体的连接网站的例子,供大家参考.上一篇基础篇请 ...

  4. usb-cam (2)摄像机标定

    http://blog.csdn.net/heyijia0327/article/details/43538695 官方也给出了单目的标定教程和双目视觉的标定教程.本教程基于usb_cam  pack ...

  5. webpack简单的打包体验

    怎么使用webpack 进行打包 需要使用管理员权限进行安装 npm install webpack -g npm install webpack-cli -g 创建站点 mkdir webpack ...

  6. boot空间不足

    https://blog.csdn.net/suifenghahahaha/article/details/78748846 更新内核https://blog.csdn.net/qq_18683985 ...

  7. Python基础(3)if_else、for、while、break与continue

    1.if ... else a=6 if a>=5: print("The a is bigger than 5") else: print("The a is s ...

  8. 201904:Action recognition based on 2D skeletons extracted from RGB videos

    论文标题:Action recognition based on 2D skeletons extracted from RGB videos 发表时间:02 April 2019 解决问题/主要思想 ...

  9. C# 语法五 单例类、单例模式

    1.优点 只有一个实例 2.缺点 a)这个实例不能随时释放掉,占用资源. b)每次使用,都要判断是否为空,增加消耗 3.适用场景 只能有一个实例的业务场景,例如:数据库连接对象(每次连接都是同一个连接 ...

  10. Linux命令——cat/less/more的区别

    cat命令:用于显示整个文件的内容,单独使用没有翻页功能,经常和 more 命令搭配使用,cat 命令还可以将数个文件合并成一个文件. more命令:让画面在显示满一页时暂停,此时可按空格健继续显示下 ...