package com.fgkj.dao.impl;
|
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import com.fgkj.dao.BaseDAO;
|
import com.fgkj.dao.CallBack;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.Database_backup;
|
|
public class Database_backupImpl implements CallBack,BaseDAO{
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Database_backup baseup=new Database_backup();
|
baseup.setNum(rs.getInt("num"));
|
baseup.setDatabase_name(rs.getString("database_name"));
|
baseup.setTable_name(rs.getString("table_name"));
|
baseup.setBackup_en(rs.getInt("backup_en"));
|
baseup.setBackup_flag(rs.getInt("backup_flag"));
|
baseup.setNote(rs.getString("note"));
|
list.add(baseup);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
|
public boolean add(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
//添加多条记录
|
public boolean addPro(Object obj) {
|
List<Database_backup> list=(List) obj;
|
ArrayList sql_strs=new ArrayList();
|
for (Database_backup baseup : list) {
|
String sql="insert into web_site.tb_database_backup(database_name,table_name) values('"+baseup.getDatabase_name()+"','"+baseup.getTable_name()+"')";
|
sql_strs.add(sql);
|
}
|
boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_strs);
|
return bl;
|
}
|
//根据数据库名和表名修改备份数据库的使能
|
public boolean update(Object obj) {
|
Database_backup baseup=(Database_backup) obj;
|
String sql="update web_site.tb_database_backup set backup_en=? where database_name=? and table_name=? ";
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{baseup.getBackup_en(),baseup.getDatabase_name(),baseup.getTable_name()});
|
return bl;
|
}
|
//根据数据库名和表名修改备份数据库的使能(多笔记录可以选择几个表的)
|
public boolean updatePro(Object obj) {
|
List<Database_backup> list=(List) obj;
|
ArrayList sql_strs=new ArrayList();
|
if(list!=null&&list.size()>0){
|
for (Database_backup baseup : list) {
|
String sql="update web_site.tb_database_backup set backup_en="+baseup.getBackup_en()+" where database_name='"+baseup.getDatabase_name()+"' and table_name='"+baseup.getTable_name()+"' ";
|
sql_strs.add(sql);
|
}
|
}
|
boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_strs);
|
return bl;
|
}
|
|
//根据数据库名和表名修改备份数据库的使能(一键修改)
|
public boolean updateProAll() {
|
String sql="update web_site.tb_database_backup set backup_en=1 ";
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, null);
|
return bl;
|
}
|
public boolean del(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
//查询所有数据库备份信息
|
public List searchAll() {
|
String sql="select num,database_name,table_name,backup_en,note from web_site.tb_database_backup ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Database_backup baseup=new Database_backup();
|
baseup.setNum(rs.getInt("num"));
|
baseup.setDatabase_name(rs.getString("database_name"));
|
baseup.setTable_name(rs.getString("table_name"));
|
baseup.setBackup_en(rs.getInt("backup_en"));
|
baseup.setBackup_flag(rs.getInt("backup_flag"));
|
baseup.setNote(rs.getString("note"));
|
list.add(baseup);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//根据数据库名查询该数据库下的表
|
public List serchByCondition(Object obj) {
|
Database_backup baseup=(Database_backup) obj;
|
String sql="select num,database_name,table_name,backup_en,note from web_site.tb_database_backup " +
|
" where database_name like ?";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+baseup.getDatabase_name()+"%"} , new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Database_backup baseup=new Database_backup();
|
baseup.setNum(rs.getInt("num"));
|
baseup.setDatabase_name(rs.getString("database_name"));
|
baseup.setTable_name(rs.getString("table_name"));
|
baseup.setBackup_en(rs.getInt("backup_en"));
|
baseup.setBackup_flag(rs.getInt("backup_flag"));
|
baseup.setNote(rs.getString("note"));
|
list.add(baseup);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
//查询数据库备份表中所有的数据库
|
public List searchAllDatabase(){
|
String sql="select distinct database_name from web_site.tb_database_backup ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
list.add(rs.getString("database_name"));
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
//根据数据库名查询所有的表
|
public List searchAllTable(Object obj){
|
Database_backup baseup=(Database_backup) obj;
|
String sql="select distinct table_name from web_site.tb_database_backup " +
|
" where database_name=?";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{baseup.getDatabase_name()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
list.add(rs.getString("table_name"));
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
//查询个数
|
public int searchNum(Object obj){
|
Database_backup baseup=(Database_backup) obj;
|
String sql=" select count(num) as number from web_site.tb_database_backup " +
|
" where ";
|
//全部
|
String allSqlT=" num!=?";
|
//处于备份的个数
|
String allSqlF=" backup_en=?";
|
if(baseup.getNum()==0){
|
sql+=allSqlT;
|
}else{
|
sql+=allSqlF;
|
}
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{baseup.getNum()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
int number=rs.getInt("number");
|
list.add(number);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
int number=0;//最后的返回结果
|
if(list!=null&&list.size()>0){
|
number=(Integer) list.get(list.size()-1);
|
}
|
return number;
|
}
|
//查询具体某张表是否已经完成备份
|
public boolean serchTable_en(Object obj){
|
Database_backup baseup=(Database_backup) obj;
|
boolean bl=false;
|
String sql="select backup_en from web_site.tb_database_backup " +
|
" where database_name=? and table_name=? limit 1 ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{baseup.getDatabase_name(),baseup.getTable_name()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
list.add(rs.getInt("backup_en"));
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
if(list!=null&&list.size()>0){
|
int backup_en=(Integer) list.get(list.size()-1);
|
if (backup_en==2) {
|
bl=true;
|
} else {
|
bl=false;
|
}
|
}
|
return bl;
|
}
|
public List serchByInfo(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
public static void main(String[] args) {
|
/*String sql1="show databases ";
|
List<String> list1=DAOHelper.executeQuery(sql1, DBUtil.getConn(), null, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
if(!rs.getString("database").equals("information_schema")
|
&&!rs.getString("database").equals("mysql")
|
&&!rs.getString("database").equals("performance_schema")
|
&&!rs.getString("database").equals("sys")){
|
list.add(rs.getString("database"));
|
}
|
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
System.out.println("list1:"+list1.size());
|
List list3=new ArrayList();
|
if(list1!=null&&list1.size()>0){
|
for (String database_name : list1) {
|
String sql2="select table_name from information_schema.tables where table_schema='"+database_name+"'";
|
List<String> list2=DAOHelper.executeQuery(sql2, DBUtil.getConn(), null, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
list.add(rs.getString("table_name"));
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
System.out.println("list2:"+list2.size());
|
if(list2!=null&&list2.size()>0){
|
for (String table_name : list2) {
|
Database_backup baseup=new Database_backup();
|
baseup.setDatabase_name(database_name);
|
baseup.setTable_name(table_name);
|
list3.add(baseup);
|
}
|
}
|
}
|
}
|
System.out.println("list3:"+list3.size());
|
Database_backupImpl dimpl=new Database_backupImpl();
|
boolean bl=dimpl.addPro(list3);
|
System.out.println(bl);*/
|
Database_backupImpl dimpl=new Database_backupImpl();
|
dimpl.updateProAll();
|
}
|
}
|