#include "FaceDataDao.h" FaceDataDao::FaceDataDao(QObject *parent) : BaseDao(parent) { } QVector<QVariantMap> FaceDataDao::findAllRecord() { // 新建查询 QSqlQuery query(ConnectionManager::getInstance()->getConnection()); // 查询语句 QString sql = "SELECT * FROM FACE_DATA"; // 执行查询 query.exec(sql); // 返回结果 QVector<QVariantMap> result; // 遍历查询结果 while (query.next()) { QVariantMap item; item.insert("id", query.value("id").toString()); item.insert("person_id", query.value("person_id").toString()); item.insert("face_code", query.value("face_code").toByteArray()); result.append(item); } LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); return result; } QVariantMap FaceDataDao::findRecordById(QString id) { QVariantMap item; return item; } QVector<QVariantMap> FaceDataDao::findRecordsByProperty(QString properName, QVariant properValue) { QVector<QVariantMap> result; return result; } QString FaceDataDao::save(QVariantMap object) { // 新建查询 QSqlQuery query(ConnectionManager::getInstance()->getConnection()); qulonglong id = ConnectionManager::getInstance()->generateId(); // INSERT语句 QString sql = QString("INSERT INTO FACE_DATA " "(ID, PERSON_ID, IMAGE_ID, FACE_CODE) " "VALUES ('%1', '%2', '%3', :face)") .arg(id).arg(object.value("person_id").toString()) .arg(object.value("image_id").toString()); query.prepare(sql); query.bindValue(":face", object.value("face_code")); LOG(DEBUG) << sql.toStdString(); // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); // 执行插入 bool success = query.exec(); // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); // 返回结果 if (success == true) { return QString("%1").arg(id); } else { return "-1"; } } bool FaceDataDao::edit(QVariantMap newObject, QString id) { return false; } bool FaceDataDao::dele(QString id) { return false; }