1.备份
StringBuffer hql = new StringBuffer("{Call backupdatas(?,?,?,?)}");
String tableName = "nms_operationlog";
Session session = this.createSession();
SQLQuery sqlQuery = session.createSQLQuery(hql.toString());
sqlQuery.setString(0, filePath);
sqlQuery.setString(1, tableName);
sqlQuery.setString(2, startTime);
sqlQuery.setString(3, endTime);
sqlQuery.executeUpdate();
backupdatas为存储过程
CREATE PROCEDURE backupdatas(IN file_name VARCHAR(1000 ),IN table_name VARCHAR(32 ),IN start_time VARCHAR(32 ),IN end_time VARCHAR(32 ))
begin
set @sql=concat( 'select * INTO OUTFILE "',file_name, '" from ',table_name,' where operateTime>"',start_time,'"' ,' and operateTime
PREPARE stmt FROM @sql;
EXECUTE stmt ;
end
2.还原
String hqlPlus = "load data low_priority infile '" + filePath + "' replace INTO TABLE " + table_name; Session session = this.createSession(); SQLQuery sqlQuery = session.createSQLQuery(hqlPlus); sqlQuery.executeUpdate();