【Java 开发实例】Java 造数据框架 Faker

226 阅读2分钟

废话不多说系列,直接简要介绍,后续参考附录参考官方 Faker 地址

美女2.png

一、介绍

    Faker 是专门用来产生各种假数据的辅助工具库。比如,你想产生和真实数据一样的有姓名的、有地址的用户。

    为什么在项目中使用它?

  • 数据需要有格式的;(例如地址,邮箱,中英文名称,手机号等等)
  • 数据模拟量大;(自己造拟真的数据可能耗时长)

二、使用

(1)引入 maven 依赖
<dependency>
    <groupId>com.github.javafaker</groupId>
    <artifactId>javafaker</artifactId>
    <version>1.0.2</version>
</dependency>
(2)核心使用案例
Faker faker = new Faker();

String name = faker.name().fullName(); // Miss Samanta Schmidt
String firstName = faker.name().firstName(); // Emory
String lastName = faker.name().lastName(); // Barton

String streetAddress = faker.address().streetAddress(); // 60018 Sawayn Brooks Suite 449

示例演示:

import com.github.javafaker.Faker;
import com.github.javafaker.Number;

import java.util.Locale;
// 更多用法见 附录-官方文档地址
public class FakerDemo {

    public static void main(String[] args) {
        // 初始化,默认英文 new Locale("en") 即 Faker faker = new Faker();
        Faker faker = new Faker(new Locale("zh-CN"));
        // 1.用户全名
        String name = faker.name().fullName();
        String firstName = faker.name().firstName();
        String lastName = faker.name().lastName();
        System.out.println("姓名:" + name + "\t" + lastName + firstName);

        // 2.街道地址
        String streetAddress = faker.address().streetAddress();
        // 2.1全程地址
        String address = faker.address().fullAddress();
        System.out.println("地理地址: " + address + "\t" + streetAddress);

        // 3.书籍
        // 3.1 书籍作者
        String author = faker.book().author();
        String publisher = faker.book().publisher();
        String title = faker.book().title();
        String genre = faker.book().genre();
        System.out.println("书籍假数据:" + author + "\t" + publisher + "\t" + title + '\t' + genre + '\t');

        // 假数据(数字)
        Number number = faker.number();
        String digit = faker.number().digit();
        int randomDigit = faker.number().randomDigit();
        int randomDigitNotZero = faker.number().randomDigitNotZero();
        System.out.println("数字造假数据: " + number + "\t" + digit + "\t" + randomDigit + "\t" + randomDigitNotZero);

        // 邮箱地址
        String emailAddress = faker.internet().emailAddress();
        // IPv4 地址
        String ipV4Address = faker.internet().ipV4Address();
        // IPv6 地址
        String ipV6Address = faker.internet().ipV6Address();
        // 造假网络地址
        String url = faker.internet().url();
        System.out.println("网络地址:" + emailAddress + "\t"  + ipV4Address + "\t" + ipV6Address + "\t" + url);
    }

}

结果展示:

image.png

(3)本地化假数据
Faker faker = new Faker(new Locale("YOUR_LOCALE"));
// YOUR_LACALE 常用的有 en  en-US zh-CN zh-TW

附录

至此,谢谢阅读!


美女2.png