[英]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.