JAVA通过JDBC执⾏数据库表的创建
开发中接到了⼀个需求:⾃动⽣成数据库表和字段注释,先是考虑使⽤存储过程来进⾏创建,但是由于使⽤的数据库是南⼤通⽤的gbase,本菜鸟也是第⼀次使⽤这个数据库,要看的⽂档太多,所以偷懒直接⽤JDBC来进⾏创建,废话不多说,直接上代码吧,写得不好的地⽅,希望⼤佬多多指教哈
第⼀步:导⼊需要⽤到的包
import java.io.InputStream;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.apache.log4j.Logger;
第⼆步:进⼊正题(代码部分)
db.properties⽂件内容
jdbc.driver=com.informix.jdbc.IfxDriver
jdbc.url=***
jdbc.username=***
jdbc.password=***
具体实现类
public class JdbcUtils {
/*
* params tableSql 创建数据表的SQL语句 commentSql 表名及字段注释的SQL语句
*/
public String createTables(String tableSql, String commentSql) {
String result = “”;
Map<String, String> props = new HashMap<String, String>();
final Logger logger = Logger(JdbcUtils.class);
try {
// 1:通过流来获取数据库配置⽂件信息
InputStream is = JdbcUtils.class
.getResourceAsStream("/db.properties");
final Properties prop = new Properties();
prop.load(is);
for (Object key : prop.keySet()) {
props.put((String) key, (String) (key));
}
is.close();
} catch (Exception e) {
<(“读取db.properties⽂件失败!”, e);
return result;
}
Connection conn = null;
Statement stmt = null;
try {
// 2: 加载数据库驱动类,注册JDBC驱动
Class.(“jdbc.driver”));
/
/ 3: 创建⼀个连接对象
conn = (“jdbc.url”),
<(“jdbc.username”), (“jdbc.password”));
//取消⾃动提交(由于要进⾏两次操作)
conn.setAutoCommit(false);
//4:执⾏SQL
System.out.println(“Creating table in given database…”);
System.out.println(“Creating table in given database…”); stmt = ateStatement();
connmit();
result = “success”;
} catch (SQLException se) {
try {
// 发⽣异常,回滚
stmt.close();
conn.close();
} catch (Exception ignore) {
}
se.printStackTrace();
result = “fail”;
} catch (Exception e) {
e.printStackTrace();
result = “fail”;
} finally {
try {
if (stmt != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
try {
if (conn != null)
java的jdbc连接数据库conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println(“see you~”);
return result;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论