Java의 전화번호 데이터 유형
이 튜토리얼에서는 Java에서 전화번호를 저장하기 위한 가장 좋은 데이터 유형이 무엇인지, 자바 엔티티에서도 어떻게 사용하는지 소개합니다.
전화번호는 숫자 값이고 숫자만 포함하므로 처음에는 저장할 긴 유형을 생각할 수 있지만 저장하기에 가장 좋은 데이터 유형은 문자열입니다. 이는 형식을 망치고 앞의 0을 제거하고 다른 바람직하지 않은 것들.
전화번호로 작업하는 동안 먼저 사용자로부터 받는 입력 형식을 이해해야 합니다. 예를 들어 국가번호 + 지역번호 + 전화번호
형식은 문자열 형식이 필요하며 전화번호
만 취하여 긴 형식으로 저장할 수 있습니다.
Java 및 Hibernate 예제를 통해 이해합시다.
Java에서 전화번호를 저장하기 위한 데이터 유형
이 예에서는 긴 유형을 사용하여 Java에서 숫자(전화번호) 값을 저장했습니다. 숫자 값이 범위 미만이면 좋습니다. 그렇지 않으면 컴파일러에서 오류 범위를 던집니다. 전화번호에 +
와 같이 숫자가 아닌 숫자가 포함되어 있으면 좋지 않습니다. 따라서 사용자 입력을 받기 전에 입력 형식을 이해해야 합니다. 아래의 예를 참조하십시오.
public class SimpleTesting {
public static void main(String args[]) {
Student student = new Student(10, "Rohan", 1245232542);
System.out.println("id = " + student.getId());
System.out.println("Name = " + student.getName());
System.out.println("Phone Number = " + student.getPhoneNumber());
Student student2 = new Student(11, "Sohan", +1245232542);
System.out.println("id = " + student2.getId());
System.out.println("Name = " + student2.getName());
System.out.println("Phone Number = " + student2.getPhoneNumber());
}
}
class Student {
int id;
String name;
long phoneNumber;
public Student(int id, String name, long phoneNumber) {
super();
this.id = id;
this.name = name;
this.phoneNumber = phoneNumber;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(long phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
출력:
id = 10
Name = Rohan
Phone Number = 1245232542
id = 11
Name = Sohan
Phone Number = 1245232542
Java에서 전화 번호를 저장하는 문자열 데이터 유형
위의 예에서 전화번호와 함께 +
기호를 사용하면 작동하지 않으며 Java 컴파일러는 이를 유지하지 않습니다. 이 문제를 해결하려면 Java에서 전화번호를 유지하기 위해 String 유형을 사용하는 것이 좋습니다. 이제 국가 코드 + 지역 코드 + 전화 번호
형식으로 전화 번호를 저장합니다. 아래의 예를 참조하십시오.
public class SimpleTesting {
public static void main(String args[]) {
Student student = new Student(10, "Rohan", "1245232542");
System.out.println("id = " + student.getId());
System.out.println("Name = " + student.getName());
System.out.println("Phone Number = " + student.getPhoneNumber());
Student student2 = new Student(11, "Sohan", "+911245232542");
System.out.println("id = " + student2.getId());
System.out.println("Name = " + student2.getName());
System.out.println("Phone Number = " + student2.getPhoneNumber());
}
}
class Student {
int id;
String name;
String phoneNumber;
public Student(int id, String name, String phoneNumber) {
super();
this.id = id;
this.name = name;
this.phoneNumber = phoneNumber;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
출력:
id = 10
Name = Rohan
Phone Number = 1245232542
id = 11
Name = Sohan
Phone Number = +911245232542
엔티티 클래스 Java에 전화번호 저장
최대 절전 모드로 작업 중이고 전화 번호와 같은 하나의 필드가 있는 엔터티를 생성한 경우 숫자가 아닌 숫자를 포함하는 전화 번호를 저장하기 위해 이를 문자열로 선언해야 합니다.
최대 절전 모드에서 이 엔터티 클래스는 MySQL 또는 Oracle 데이터베이스의 테이블에 매핑되고 varchar 유형을 사용하여 전화 번호를 저장합니다. 이것은 고급 개념으로 ORM이나 hibernate 개념에 익숙하지 않다면 이 예제를 건너뛰십시오.
package com.example.myspring;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity // This tells Hibernate to make a table
public class User {
@Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id;
private String name;
private String email;
private String phoneNumber; // phone number
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}