jdbc连接数据库例子:
public void updateProject(List<Map<String, String>> projects,
String rpt_year, String rpt_month){
if (projects.size() < 1) {
return;
}
PreparedStatement ps = null;
Connection conn = null;
String sql = "";
try {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = DriverManager.getConnection("jdbc:oracle:thin:@172.16.8.139:1521:orcl","zhbbpt", "zhbbpt");
//conn = DbOper.getConnectionFactory().createConnection();
sql = "update tbl_data_gdzc_xxzx set IN_SWAU_INVEST_TOOL=?,IN_SWAU_INVEST_TOOL_ADJUST=?,IN_SWAU_NFA_NEW=?," +
" IN_SWAU_NFA_ADJUST=?,PROGRESS=?,IN_TYAU_INVEST_TOOL_ADJUST=?,IN_TYAU_NFA_ADJUST=?,CF_CF=?,CF_EO=?," +
"BI_PLAN_COST=?,CF_TOTAL=?,BI_TOTAL_COST=?,IN_TYAU_NFA_TOTAL=?,BI_TOTAL_CAPITAL=?,PRI_XMMC=?,FF_CF=?," +
"FF_EO=?,FF_TOTAL=?,BI_TOTAL_INVEST=?,PRI_XMBM=?,BI_PLAN_INVEST=?,BI_PLAN_CAPITAL=?,IN_SWAU_INVEST=?," +
"IN_TYAU_INVEST=?,IN_TYAU_NFA=? "
+ " where GUID = ? ";
ps = conn.prepareStatement(sql);
conn.setAutoCommit(false);
for (int i = 0; i < projects.size(); i++) {
Map<String, String> project = projects.get(i);
ps.setString(1, project.get("IN_SWAU_INVEST_TOOL"));
ps.setString(2, project.get("IN_SWAU_INVEST_TOOL_ADJUST"));
ps.setString(3, project.get("IN_SWAU_NFA_NEW"));
ps.setString(4, project.get("IN_SWAU_NFA_ADJUST"));
ps.setString(5, project.get("PROGRESS"));
ps.setString(6, project.get("IN_TYAU_INVEST_TOOL_ADJUST"));
ps.setString(7, project.get("IN_TYAU_NFA_ADJUST"));
ps.setString(8, project.get("CF_CF"));
ps.setString(9, project.get("CF_EO"));
ps.setString(10, project.get("BI_PLAN_COST"));
ps.setString(11, project.get("CF_TOTAL"));
ps.setString(12, project.get("BI_TOTAL_COST"));
ps.setString(13, project.get("IN_TYAU_NFA_TOTAL"));
ps.setString(14, project.get("BI_TOTAL_CAPITAL"));
ps.setString(15, project.get("PRI_XMMC"));
ps.setString(16, project.get("FF_CF"));
ps.setString(17, project.get("FF_EO"));
ps.setString(18, project.get("FF_TOTAL"));
ps.setString(19, project.get("BI_TOTAL_INVEST"));
ps.setString(20, project.get("PRI_XMBM"));
ps.setString(21, project.get("BI_PLAN_INVEST"));
ps.setString(22, project.get("BI_PLAN_CAPITAL"));
ps.setString(23, project.get("IN_SWAU_INVEST"));
ps.setString(24, project.get("IN_TYAU_INVEST"));
ps.setString(25, project.get("IN_TYAU_NFA"));
ps.setString(26, project.get("GUID"));
ps.addBatch();
}
ps.executeBatch();
conn.commit();
conn.setAutoCommit(true);
} catch (SQLException e) {
try {
conn.rollback();
conn.setAutoCommit(true);
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
try {
conn.close();
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 关闭连接
*
* @param conn
*/
public static void closeConn(Connection conn) {
if (conn != null) {
try {
conn.close();
conn = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭prepareStatement
*
* @param ps
*/
public static void closePs(PreparedStatement ps) {
if (ps != null) {
try {
ps.close();
ps = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭结果集
*
* @param conn
*/
public static void closeResultSet(ResultSet rst) {
if (rst != null) {
try {
rst.close();
rst = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}