[英]How do I generate QR Code from a array list in java and store to database?
我想從我的行數據庫中制作一個二維碼,我只有一個用於插入 function 的制作方法,並且有一個二維碼生成器。 問題是Zxing方法Bitmatrix對參數進行編碼是String。 如何為二維碼生成數組或獲取一兩個字段行數據?
private static ArrayList<PersonalInfo> pi = new ArrayList();
private static String image_name = "";
private static String filepath = "G:\\Netbeans Project\\Template_End_Project\\src\\endproject" + image_name + ".png";
private static String charset = "UTF-8";
//Here some variable
public static void Save(PersonalInfo pi1) throws SQLException, WriterException, IOException {
try {
unique(pi1);
PreparedStatement ps = ConnectionClass.getPreStatement("insert into Karyawan_info(id_pegawai, nik_ktp, nama_lengkap, jenis_kelamin,tanggal_lahir, "
+ "tempat_lahir, alamat, nomor_handphone, email, jabatan, tanggal_bergabung, gaji, kontak_darurat, nomor_kontak_darurat, pas_foto)"
+ "values ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,? )");
ps.setInt(1, pi1.getId_pegawai());
ps.setInt(2, pi1.getNik_ktp());
ps.setString(3, pi1.getNama_lengkap());
ps.setString(4, pi1.getJenis_kelamin());
ps.setString(5, pi1.getTanggal_lahir());
ps.setString(6, pi1.getTempat_lahir());
ps.setString(7, pi1.getAlamat());
ps.setInt(8, pi1.getNomor_handphone());
ps.setString(9, pi1.getEmail());
ps.setString(10, pi1.getJabatan());
ps.setString(11, pi1.getTanggal_bergabung());
ps.setDouble(12, pi1.getGaji());
ps.setString(13, pi1.getKontak_darurat());
ps.setInt(14, pi1.getNomor_kontak_darurat());
ps.setBytes(15, pi1.getPas_foto());
ps.execute();
} catch (IllegalArgumentException e) {
throw new IllegalArgumentException(e.getMessage() + "Record not saved");
} ;
Map< EncodeHintType, ErrorCorrectionLevel> hintMap = new HashMap< EncodeHintType, ErrorCorrectionLevel>();
hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
BitMatrix matrix = new MultiFormatWriter().encode(
new ArrayList(pi, charset),
BarcodeFormat.QR_CODE, 200, 200, hintMap);// My Problem
MatrixToImageWriter.writeToFile(matrix, filepath.substring(filepath
.lastIndexOf('.') + 1), new File(filepath));
System.out.println("QR Code image created successfully!");
```
您可以使用分隔符將字段轉換為字符串,您可以使用此字符串制作二維碼。 你可以用同樣的方式解析字符串來創建你的類的實例。
創建一個轉換字段的方法。
public String personalInfoToString(PersonalInfo pi1) {
final String dm = ";";
return pi1.getId_pegawai() + dm + pi1.getNik_ktp() + dm + pi1.getNama_lengkap() ...;
}
創建一個方法來解析字符串中的字段。
public String stringToPersonalInfo(String personalInfo) {
final String dm = ";";
PersonalInfo pi = new PersonalInfo();
String[] data = personalInfo.split(dm);
pi.setId_pegawai(data[0]);
pi.setNik_ktp(data[1])
return pi;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.