Ajax实现xml文件数据插入数据库(三)---javabean实现数据库插入

来源:互联网 发布:速达软件功能 编辑:程序博客网 时间:2024/06/08 17:53

在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了。在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的DbUtil如下:

package DbUtil;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 封装数据库常用操作 * @author changshou * */public class DbUtil {        //取得数据库连接public static Connection getConnection(){Connection conn = null;try {Class.forName("oracle.jdbc.driver.OracleDriver");String url = "jdbc:oracle:thin:@localhost:1521:ORCL";String username = "drp1";String password = "drp1";conn = DriverManager.getConnection(url, username, password);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}//关闭连接 public static void close(Connection conn){ if(conn != null){  try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }//关闭PreparedStatement和Statementpublic static void close(PreparedStatement pstmt){ if(pstmt != null){try { pstmt.close();} catch (SQLException e) { // TODO Auto-generated catch blocke.printStackTrace(); }}}//关闭Statementpublic static void close(Statement stmt){ if(stmt != null){try {stmt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}//关闭ResultSetpublic static void close(ResultSet rs){if(rs != null){try {rs.close();} catch (SQLException e) { // TODO Auto-generated catch blocke.printStackTrace(); }} }/**  * 手动开启事务,不让事务自动提交  * @param conn  */ public static void beginTransaction(Connection conn){ try{ if(conn != null){ if(conn.getAutoCommit()){ conn.setAutoCommit(false);//手动提交} } }catch(SQLException e){ } } /**  * 提交事务  * @param conn */ public static void commitTransaction(Connection conn){ try{ if(conn != null){if(!conn.getAutoCommit()){ conn.commit(); }}}catch(SQLException e){}}/** * 回滚事务 * @param conn */public static void rollbackTransaction(Connection conn){try{if(conn != null){if(!conn.getAutoCommit()){conn.rollback();}}}catch(SQLException e){}}public static void reset(Connection conn){try{if(conn != null){if(conn.getAutoCommit()){conn.setAutoCommit(false);}else{conn.setAutoCommit(true);}}}catch(SQLException e){}}}

下面的代码将真正执行数据的插入操作,注意在执行代码前需引入相关jar包,如jdbc驱动等。否则在执行的过程中会报错。

package UserManager;import java.sql.Connection;import java.sql.PreparedStatement;import com.sun.org.apache.bcel.internal.generic.RETURN;import DbUtil.*;public class UserManager {public void insertUser(String userId,String userName,String userRoot){//执行插入的sql语句String sql = "INSERT INTO T_TEST1 (USERUD,USERNAME,USERROOT) VALUES (?,?,?)";Connection conn = null;PreparedStatement pstmt = null;try{//得到数据库连接conn = DbUtil.getConnection();pstmt = conn.prepareStatement(sql);//给占位符赋值pstmt.setString(1,userId);pstmt.setString(2, userName);pstmt.setString(3, userRoot);//执行插入语句pstmt.executeUpdate();}catch(Exception e){e.printStackTrace();}finally{//关闭相关资源DbUtil.close(pstmt);DbUtil.close(conn);}}}

总结:将xml文件中的数据插入到数据库中所涉及到的环节主要有四个。第一是前端xml文件的解析。第二是xml数据的传输。第三是数据的重新组合。第四是数据的插入。贯穿这四个环节所涉及的语言分别是xml,javascript,html,java。从当今编程的趋势看,混合语言的使用已经是一种趋势,而解决类似问题的关键就在于将整个过程分成若干块,将每一块提供一个接口,只要接口的实现没有问题,整个过程也不会有太大问题。

Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库。

Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。


Ajax

原创粉丝点击