【Java】积分手机端-中文转拼音

目录

    • 前因
    • 启示
    • 启示
    • 后果

前因

  这次小咸儿因为项目的业务逻辑的需求,在一个添加页面时,需要根据添加的中文名称,生成一个拼音字段值,存入到数据库中。
  如图,手机端添加页面:
【Java】积分手机端-中文转拼音_第1张图片

启示

  实现的方式有两种,一种是在前端页面进行转换,一种是在后端进行转换,小咸儿首先利用的方式是利用后端实现的,接下来还有前端实现的分享。

启示

   1. 下载jar包 ,首先要先下载一个jar包——pinyin4j.2.5.1.jar。因为小咸儿使用的是maven项目,所以需要在pom.xml文件中添加:


	com.belerweb
	pinyin4j
	2.5.0
	compile

   2. 创建工具类 ,下载好后,需要自己新建一个工具类HanyuPinyin
【Java】积分手机端-中文转拼音_第2张图片

   3. 工具类代码 ,HanyuPinyin类中的代码:

package com.dmsdbj.cloud.tool.HanyuPinyin;


import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class HanyuPinyinHelper {
    /**
           * 将文字转为汉语拼音
           * @param ChineseLanguage 要转成拼音的中文
          */
     public String toHanyuPinyin(String ChineseLanguage){
                 char[] cl_chars = ChineseLanguage.trim().toCharArray();
                 String hanyupinyin = "";
                 HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
                defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 输出拼音全部小写
                 defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调
                defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V) ;
                 try {
                         for (int i=0; i

后果

  这时就可以直接使用这个工具类,可以在自己需要的方法中添加这个工具类的使用,如下:

@ApiOperation(value = "添加")
    @PostMapping(value = {"/create"})
    public TypeKeyConfigEntity create(@RequestBody TypeKeyConfigEntity entity) {
        HanyuPinyinHelper hanyuPinyinHelper = new HanyuPinyinHelper();
        String typeKey = entity.getName();
        entity.setTypeKey(hanyuPinyinHelper.toHanyuPinyin(typeKey));
        return typeKeyConfigService.insert(entity);
    }

  大家可以去尝试使用一下,十分的方便,而且还可以根据不同的方法生成大写或者带声调的拼音。

你可能感兴趣的:(▲项目成长▼,#,实战项目,¤JAVA¤)