java 代码初始化数据库表结构,存储过程和函数的方法
来源:互联网 发布:oracle数据库的端口号 编辑:程序博客网 时间:2024/05/13 21:00
package xxx;import java.io.File;import java.util.Map;import org.apache.tools.ant.Project;import org.apache.tools.ant.taskdefs.SQLExec;import org.apache.tools.ant.types.EnumeratedAttribute;import org.apache.tools.ant.types.FileSet;import org.framework.config.Global;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class JdbcUtils { private final static Logger logger = LoggerFactory.getLogger(JdbcUtils.class); /**刷新数据库脚本,存入数据库中 * @param path * j2ee web path: this.getClass().getClassLoader().getResource("/").getPath(); * j2se path:new File(JdbcUtils.class.getResource("/").getFile()).getCanonicalPath(); * thread path:Thread.currentThread().getContextClassLoader().getResource("").toString().replaceFirst("file:/", ""); */ public static void scanSQL(String... paths){ try{ Map jdbcMap = Global.getJDBCInfo(); //jdbc配置信息不存在 不执行 if(jdbcMap==null){ return ; } String path = ""; if(paths==null||paths.length<=0){ path = Thread.currentThread().getContextClassLoader().getResource("").toString().replaceFirst("file:/", ""); }else{ path = paths[0]; } String driver = jdbcMap.get("driver").toString(); String url = jdbcMap.get("url").toString(); String user = jdbcMap.get("user").toString(); String psd = jdbcMap.get("psd").toString(); SQLExec sqlExec = new SQLExec(); sqlExec.setDriver(driver); sqlExec.setUrl(url); sqlExec.setUserid(user); sqlExec.setPassword(psd); //结束符为/ 表、函数、存储过程都要以/结尾 sqlExec.setDelimiter("/"); //设置脚本路径 FileSet fileSet=new FileSet(); fileSet.setProject(new Project()); fileSet.setDir(new File(path+Global.getDBShellPath())); //只处理以sql结尾的文件 fileSet.setIncludes("*.sql"); sqlExec.addFileset(fileSet); //有出错的语句该如何处理 sqlExec.setOnerror((SQLExec.OnError)(EnumeratedAttribute.getInstance(SQLExec.OnError.class, "abort"))); sqlExec.setPrint(true); //设置是否输出 sqlExec.setProject(new Project()); // 要指定这个属性,不然会出错 sqlExec.execute(); }catch(Exception e){ logger.info("scanSQL error",e); } } public static void main(String args[]){ //scanSQL(); String path; try { //path = new File(JdbcUtils.class.getResource("/").getFile()).getCanonicalPath(); //path = Thread.currentThread().getContextClassLoader().getResource("").toString().replaceFirst("file:/", ""); scanSQL(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
阅读全文
0 0
- java 代码初始化数据库表结构,存储过程和函数的方法
- springmvc 初始化表结构,函数和存储过程的方法
- java代码调用数据库的存储过程和函数 CallableStatement的用法
- sql数据库相关:查看存储过程的内置函数和手写的查看表结构存储过程
- 项目代码-存储过程(复制表结构和数据、日期函数、随机数函数)
- MySQL导出数据库、数据库表结构、存储过程及函数
- oracle数据库的函数和存储过程
- Java调用Oracle数据库存储过程和存储函数
- Java代码调用存储过程和存储方法
- Java中调用数据库的存储过程存储函数和包体
- java通过jdbc访问oracle数据库的存储过程和存储函数
- 数据库存储过程和函数
- Oracle数据库中调用Java类开发存储过程、函数的方法
- Oracle数据库存储过程和存储函数
- Oracle数据库存储过程和存储函数
- Java代码中执行存储过程和函数
- 数据库表值函数和标量函数和存储过程之间的区别【鸡蛋】
- Java代码调用数据库带输出参数的存储过程
- 数组、链表、栈、队列的实现。
- Linux下常用的C/C++开源Socket库
- ExpandableListView(手风琴)(1)---BaseExpandableListAdapter
- 【HDU 1109 Run Away 模拟退火算法】
- 贪心算法实例(二):钱币找零问题
- java 代码初始化数据库表结构,存储过程和函数的方法
- Qt中可以对图片镜像旋转
- 欢迎使用CSDN-markdown编辑器
- 膨胀的牛牛
- ios 用于调试的语句,在代码中添加容易定位位置
- Sybase修改interfaces文件(ip、端口、服务名等)
- (七)路由协议-TCP/IP--图解TCP/IP读书笔记
- session
- 十五周 Perfect Squares