工具类:
/**
* @ClassName: 获取配置文件的值
* @Description:
* @author: wangyun
* @date: 2018-3-16 下午6:30:10
*/
public class PropertiesUtil {
public static String getByName(String path,String name){
String result=null;
InputStream in = PropertiesUtil.class.getClassLoader().getResourceAsStream(path);
Properties prop = new Properties();
try {
prop.load(in);
result = prop.getProperty(name).trim();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
}
controller层:
@Controller
public class MysqlBRController {
//配置文件路径
String path="config/jdbc.properties";
//数据库用户名和密码
String username=PropertiesUtil.getByName(path,"jdbc.username");
String password=PropertiesUtil.getByName(path,"jdbc.password");
/**
* 数据库备份
* @return
* @throws Exception
*/
@RequestMapping(value="/backUp",method=RequestMethod.POST,produces="text/html;charset=utf-8")
@ResponseBody
public Object backUp(HttpServletRequest request,HttpServletResponse response) throws Exception{
JSONObject data = new JSONObject();
//数据库导出文件名
String name= new SimpleDateFormat("yyyyMMddhhmmss").format(new Date())+".sql";
String url=request.getSession().getServletContext().getRealPath("/sql");
try {
if (MySqlDatebaseBackupRestore.backupDatabaseTool("localhost", username, password, url, name, "rce")) {
//调用文件下载的方法
String fileName = request.getSession().getServletContext().getRealPath("/sql")+"/"+name;
FileUploadUtil.fileDownload(request, response, fileName);
data.put("data", "数据库成功备份!!!");
} else {
data.put("data", "数据库备份失败!!!");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
data.put("fileName", name);
data.put("url", url);
return data.toString();
}
}