- 浏览: 267173 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
fjyuxuebin:
怎么调用,有调用demo吗?
jquery 异步treeTable树形插件 -
anyone:
非常不错的插件
jquery 异步treeTable树形插件 -
孤心随云:
看起来不错!试一下先!
jquery 异步treeTable树形插件 -
iwq1990512:
最后Java代码,返回的不是json数据吧
jquery 异步treeTable树形插件 -
dengli19881102:
可以把整个代码提供么?
jquery 异步treeTable树形插件
1.底层数据库操作封装
2.操作业务类
package com.db; import java.sql.*; import java.util.*; /** * * @author zhaozhi3758 * @desc 底层数据库操作封装 */ public class JdbcExcute { /** * 获取链接 * @return */ public Connection getCon(){ Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver");// 加载驱动 String url = "jdbc:mysql://localhost:3306/libraryv1?useUnicode=true&characterEncoding=utf-8&useOldAliasMetadataBehavior=true"; conn = DriverManager.getConnection(url, "root", "123");// 建立连接 conn.setAutoCommit(false); } catch (ClassNotFoundException e) { e.printStackTrace(); }catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 得到查询结果集的字段结构 * @param rs * @return 字段结果集 */ /* public HashMap getDataColl(ResultSet rs){ HashMap mapcoll = new HashMap(); try { ResultSetMetaData rsmd = rs.getMetaData(); for(int i=1;i<=rsmd.getColumnCount();i++){ String filedName=rsmd.getColumnName(i); System.out.println("*******"+filedName); //String fileType = rsmd.getColumnTypeName(i); mapcoll.put(filedName, ""); } } catch (Exception e) { e.printStackTrace(); } return mapcoll; }*/ /** * 获得查询数据,使用HashMap进行封装 * @param sqlstr 查询的SQL语句 * @return */ public ArrayList selQuery(String sqlstr){ Connection connetcion=null; Statement stm=null; try { connetcion = getCon(); connetcion.setAutoCommit(true); } catch (Exception e1) { e1.printStackTrace(); } ArrayList datalist = new ArrayList(); ResultSet rs = null; if(sqlstr.equals("")) return null; try { stm=connetcion.createStatement(); rs = stm.executeQuery(sqlstr); ResultSetMetaData rsmd = rs.getMetaData(); int colum=rsmd.getColumnCount(); //HashMap map = getDataColl(rs); //Object[] keys = map.keySet().toArray(); while(rs.next()){ HashMap dataSet = new HashMap(); for(int i=1;i<=colum;i++){ String strFieldName = rsmd.getColumnName(i).toLowerCase(); // if(keys[i].toString().equals("COLUMN_NAME"))keys[i]="Field"; // if(keys[i].toString().equals("COLUMN_TYPE"))keys[i]="Type"; // if(keys[i].toString().equals("IS_NULLABLE"))keys[i]="Null"; // if(keys[i].toString().equals("COLUMN_KEY"))keys[i]="Key"; // if(keys[i].toString().equals("COLUMN_DEFAULT"))keys[i]="Default"; // if(keys[i].toString().equals("EXTRA"))keys[i]="Extra"; dataSet.put(strFieldName, rs.getObject(i)); } datalist.add(dataSet); } } catch (Exception e) { e.printStackTrace(); }finally{ try { if(stm!=null)stm.close(); if(connetcion!=null)connetcion.close(); } catch (SQLException e) { e.printStackTrace(); } } return datalist; } /** * 执行数据库增删改操作 * @param sqlstr 增删改的SQL语句 * @return 成功:0 失败:-1 */ public int saveOrUpdate(String sqlstr){ Connection connetcion=null; try { connetcion = getCon(); connetcion.setAutoCommit(true); } catch (Exception e1) { e1.printStackTrace(); } try { connetcion.createStatement().execute(sqlstr); return 0; } catch (Exception e) { e.printStackTrace(); return -1; }finally{ try { if(!connetcion.isClosed()){ connetcion.close(); } } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) { JdbcExcute dbExcute=new JdbcExcute(); System.out.println(dbExcute.selQuery("SELECT * FROM reader")); } }
2.操作业务类
package com.db; import java.io.*; import java.text.SimpleDateFormat; import java.util.*; public class DbOper { private String tableName; private String dbName="libraryv1"; private String _username = "root"; private String _password = "123"; private String _host = "localhost"; private String _port="3306"; public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public String getDbName() { return dbName; } public void setDbName(String dbName) { this.dbName = dbName; } public String get_username() { return _username; } public void set_username(String _username) { this._username = _username; } public String get_password() { return _password; } public void set_password(String _password) { this._password = _password; } public String get_host() { return _host; } public void set_host(String _host) { this._host = _host; } public String get_port() { return _port; } public void set_port(String _port) { this._port = _port; } /** * 查询指定数据库的所有表名 * @param dbName 数据库名称 * @return ArrayList */ public ArrayList selAllTableInfo(String dbName){ //返回的结果集 ArrayList<HashMap> resultList = new ArrayList<HashMap>(); JdbcExcute exec = new JdbcExcute(); String sql = "select table_name, table_type,engine from information_schema.tables where table_schema='"+this.dbName+"' order by table_name asc"; resultList = exec.selQuery(sql); return resultList; } /** * 查询指定表的表结构 * @param tableName 表名 * @return ArrayList */ public ArrayList selTableStructure(String tableName){ ArrayList<HashMap> resultList = new ArrayList<HashMap>(); JdbcExcute exec = new JdbcExcute(); String sql = "desc "+tableName; resultList = exec.selQuery(sql); return resultList; } /** * 根据路径生成备份数据库的Shell字符串 * @param targetName 要备份的对象名:只能为表名和数据库名称 * @return 实际执行的shell命令 */ public String getBackupShellString(String targetName){ String basepath=Thread.currentThread().getContextClassLoader().getResource("").toString(); String backFile = ""; String database_tools_path=basepath.substring(6, basepath.length()-4)+"dbtools/";//备份工具路径 if(targetName.equals(this.dbName)){//若要备份整个数据库 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); backFile = "F:/database/"+targetName+"_"+sdf.format(new Date())+".sql";//要备份的文件 targetName = ""; }else{ backFile = "F:/tables/"+targetName+".sql"; } String OSType = System.getProperty("os.name"); String shellStr = ""; if(OSType.indexOf("Windows")!=-1){ shellStr = database_tools_path+"mysqldumpwin.exe -h "+this._host+" -P"+this._port+" -u"+this._username+" -p"+ this._password+" --result-file="+backFile+" --default-character-set=gbk "+this.dbName+" "+targetName; }else{ shellStr = database_tools_path+"mysqldump -h "+this._host+" -P"+this._port+" -u"+this._username+" -p"+ this._password+" --result-file="+backFile+" --default-character-set=gbk "+this.dbName+" "+targetName; } System.out.print("##############"+shellStr); return shellStr; } /** * 备份数据库 * @param targetName 要备份的对象名:只能为表名和数据库名称 * @return 成功:TRUE 失败:FALSE * 备份表直接备份在指定文件夹,备份库则按日期备份到指定的文件夹 * */ public boolean backup(String targetName){ String backFilePath = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String backDirString = "F:/database/";//默认备份库 try { if(!targetName.equals(this.dbName)){//备份表 File tableDir = new File("F:/tables/"); if(!tableDir.exists()){//存放表的文件夹不存在 tableDir.mkdir(); System.out.println("--------->"+tableDir); } backFilePath ="F:/tables/"+targetName+".sql";//要备份的文件 }else {//备份库 backFilePath ="F:/database/"+targetName+"_"+sdf.format(new Date())+".sql";//要备份的文件 File backDir = new File(backDirString); if(!backDir.exists()){//存放库的文件夹不存在 backDir.mkdir(); } } //判断要备份的文件是否已存在 File backFile = new File(backFilePath); if(backFile.exists()){ backFile.delete(); } Runtime runt = Runtime.getRuntime(); //Process proc = runt.exec("D:/myec6_tomcat/webapps/cms/dbtools/mysqldumpwin.exe -h 127.0.0.1 -P3306 -uroot -p123 --result-file=F:/tables/menuinfo.sql --default-character-set=gbk bizoss_cms menuinfo"); Process proc = runt.exec(getBackupShellString(targetName)); int tag = proc.waitFor();//等待进程终止 if(tag==0){ return true; }else{ return false; } } catch (Exception e) { e.printStackTrace(); return false; } } /** * 恢复数据库 * @param targetName 要备份的对象名:只能为表名和数据库名称 * @return 成功:TRUE 失败:FALSE */ public boolean restore(String targetName){ try { Runtime runt = Runtime.getRuntime(); Process proc; String cmdtext = this.getRestoreShellString(targetName); if(System.getProperty("os.name").indexOf("Windows")!=-1){ String[] cmd= { "cmd", "/c", cmdtext}; proc= runt.exec(cmd); }else{ String[] cmd= { "sh","-c",cmdtext}; proc = runt.exec(cmd); } System.out.println(cmdtext); int tag = proc.waitFor();//等待进程终止 System.out.println("进程返回值为tag:"+tag); if(tag==0){ return true; }else{ return false; } } catch (Exception e) { e.printStackTrace(); } return false; } /** * 根据路径生成恢复数据库的Shell字符串 * @param targetName targetName 要还原的对象名:只能为表名和数据库名称 * @return 恢复数据时实际执行的shell */ public String getRestoreShellString(String targetName){ String basepath=Thread.currentThread().getContextClassLoader().getResource("").toString(); String database_tools_path=basepath.substring(6, basepath.length()-4)+"dbtools/";//备份工具路径 String backFile = "";//已备份的文件 if(targetName.indexOf(this.dbName) == -1){//还原表 backFile = "f:/tables/"+targetName+".sql"; }else{//还原库 backFile ="f:/database/"+targetName; } String OSType = System.getProperty("os.name"); String shellStr = ""; if(OSType.indexOf("Windows")!=-1){ shellStr = database_tools_path+"mysqlwin.exe -h "+this._host+" -P"+this._port+" -u"+this._username+" -p"+ this._password+" --default-character-set=gbk "+this.dbName +" < "+backFile; }else{ shellStr = database_tools_path+"mysql -h "+this._host+" -P"+this._port+" -u"+this._username+" -p"+ this._password+" --default-character-set=gbk "+this.dbName+" < "+backFile; } return shellStr; } public static void main(String[] args) { DbOper db=new DbOper(); // System.out.println(db.selAllTableInfo("libraryv1")); System.out.println(db.selTableStructure("bookinfo")); //System.out.println(db.backup("t")); // System.out.println(System.getProperty("os.name")); //System.out.println(db.restore("t")); } }
发表评论
-
RTFTemplate的初步使用
2011-09-02 15:29 4671一、模版制作 1 设计 *.fields.xml文件,在此文件 ... -
HtmlParser 解析搜索页面
2011-04-22 13:35 1648package com.safetys.crawler.u ... -
一个简易的Java爬虫程序
2011-04-19 15:00 8908package com.craw; /* 以下 ... -
HtmlParser 访问节点
2011-04-19 14:23 1250package com.htmlparse.test; ... -
汉字转拼音
2011-03-14 14:11 1824package com.yz.util; impor ... -
润乾报表-动态查询
2011-03-01 21:16 3900润乾报表提供宏工作机制,因此利用宏可以可以动态组织sql语 ... -
velocity 入门实例
2010-11-10 23:11 11171 java文件 package com.test; i ... -
为图片加水印
2010-10-31 22:16 846package com.bizoss.trade.util ... -
使用WebSphere DB2连接池
2010-07-28 17:44 1658WebSphere连接池配置有些繁琐,不过网上有很多例子 ... -
在WebSphere中获取配置文件信息
2010-07-26 16:37 2312在WebSphere环境中,因为工程是打成war包传上去的 ... -
文件合并
2010-03-03 22:15 1135package com.test3; /** * 合 ... -
文件拆分
2010-03-03 22:13 1055package com.test3; import ja ... -
java获取项目所在路径
2010-01-31 16:55 3150package com.test2; public ... -
java邮件发送
2010-01-31 16:11 91731.邮件信息封装bean package com.mail ... -
quartz web定时应用
2010-01-31 16:02 14881.web.xml配置 <servlet> ... -
Lucene为数据库建立索引
2010-01-31 15:50 1739package com.lucenedemo; impo ...
相关推荐
java mysql 数据库备份和还原操作(csdn)————程序
java实现对mysql数据库的备份与还原,可跨平台,windows与Linux通用,代码内含有利用注册表信息获取mysqldump命令实例
JAVA实现数据库备份与还原,希望多与大家交流
Java实现Mysql数据库完整、增量备份与还原
代码为springBoot下对mysql数据库进行备份与恢复,代码为本人项目使用,绝对可用,若有疑问,可联系
Mysql数据库的备份与还原及时的进行数据库备份能减少数据丢失后恢复数据库的工作量
利用JDBC连接数据库,不依耐mysql的shell命令, 适合b/s 服务器备份
Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。
java备份与恢复mysql数据库,在网上很难找到相关的资源,所有笔者参照了一些资料,自己用MyEclipse写了一个,里面有源码,有详细的说明.
利用java语言,备份mysql数据库,还原mysql数据库
自己写的mysql备份及还原的小工具,采用swing写的cs小客户端程序,源码全部在此,可正常使用。
Java实现SqlServer及MySql的备份与还原(经典版).docx
java备份还原数据库
mysql,oracle,sqlserver三大数据库备份与还原,在src\test\Test.java里有用例。 DataBase dataBase = new DataBase(); //MySQL dataBase.setMysqlBinPath("D:/dump/bin"); dataBase.setBackPath("D:/dump/...
javabean实现mysql备份还原 懂jsp就应该懂javabean
巡云轻论坛系统包含论坛、问答模块。...后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷
积分兑换、数据库备份还原、折扣管理、商品管理等 运行环境 jdk7(8)+tomcat7(8)+mysql5.7+myeclipes或eclipse或idea 项目技术(必填) spring+hibernate+struts2+ajax+json+jquery+proxool+easyui+jquery+bootstrap
支持数据库备份还原,支持添加数据库;支持自动生成数据库设计文档,md 格式以及实时预览,可以下载成 pdf/word文件;支持数据表名/注释/autoid 的更改,支持优化表/修复表/删除表/清空表;可查看/编辑/新增/复制...