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

来源:互联网 发布:linux 命令 选项 编辑:程序博客网 时间:2024/06/04 23:21
[java] view plain copy
  1. package DbUtil;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.PreparedStatement;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.sql.Statement;  
  8.   
  9. /** 
  10.  * 封装数据库常用操作 
  11.  * @author changshou 
  12.  * 
  13.  */  
  14. public class DbUtil {  
  15.         //取得数据库连接  
  16.     public static Connection getConnection(){  
  17.         Connection conn = null;  
  18.         try {  
  19.             Class.forName("oracle.jdbc.driver.OracleDriver");  
  20.             String url = "jdbc:oracle:thin:@localhost:1521:ORCL";  
  21.             String username = "drp1";  
  22.             String password = "drp1";  
  23.             conn = DriverManager.getConnection(url, username, password);  
  24.         } catch (ClassNotFoundException e) {  
  25.             // TODO Auto-generated catch block  
  26.             e.printStackTrace();  
  27.         } catch (SQLException e) {  
  28.             // TODO Auto-generated catch block  
  29.             e.printStackTrace();  
  30.         }  
  31.         return conn;  
  32.     }  
  33.       
  34.     //关闭连接  
  35.     public static void close(Connection conn){        
  36.         if(conn != null){   
  37.             try {  
  38.                  conn.close();  
  39.             } catch (SQLException e) {  
  40.                  // TODO Auto-generated catch block  
  41.                 e.printStackTrace();  
  42.             }  
  43.         }  
  44.      }  
  45.       
  46.     //关闭PreparedStatement和Statement  
  47.     public static void close(PreparedStatement pstmt){  
  48.          if(pstmt != null){  
  49.             try {  
  50.                 pstmt.close();  
  51.             } catch (SQLException e) {  
  52.                  // TODO Auto-generated catch block  
  53.                 e.printStackTrace();  
  54.              }  
  55.         }  
  56.     }  
  57.       
  58.     //关闭Statement  
  59.     public static void close(Statement stmt){  
  60.          if(stmt != null){  
  61.             try {  
  62.                 stmt.close();  
  63.             } catch (SQLException e) {  
  64.                 // TODO Auto-generated catch block  
  65.                 e.printStackTrace();  
  66.             }  
  67.         }  
  68.     }  
  69.       
  70.     //关闭ResultSet  
  71.     public static void close(ResultSet rs){  
  72.         if(rs != null){  
  73.             try {  
  74.                 rs.close();  
  75.             } catch (SQLException e) {  
  76.                  // TODO Auto-generated catch block  
  77.                 e.printStackTrace();  
  78.             }  
  79.         }  
  80.           
  81.     }  
  82.     /** 
  83.       * 手动开启事务,不让事务自动提交 
  84.       * @param conn 
  85.       */  
  86.     public static void beginTransaction(Connection conn){  
  87.         try{  
  88.             if(conn != null){  
  89.                 if(conn.getAutoCommit()){  
  90.                     conn.setAutoCommit(false);//手动提交  
  91.                 }  
  92.             }  
  93.               
  94.         }catch(SQLException e){  
  95.               
  96.         }  
  97.     }  
  98.       
  99.     /** 
  100.       * 提交事务 
  101.       * @param conn 
  102.      */  
  103.     public static void commitTransaction(Connection conn){  
  104.         try{  
  105.             if(conn != null){  
  106.                 if(!conn.getAutoCommit()){  
  107.                     conn.commit();  
  108.                 }  
  109.             }  
  110.               
  111.         }catch(SQLException e){  
  112.               
  113.         }  
  114.     }  
  115.       
  116.     /** 
  117.      * 回滚事务 
  118.      * @param conn 
  119.      */  
  120.     public static void rollbackTransaction(Connection conn){  
  121.         try{  
  122.             if(conn != null){  
  123.                 if(!conn.getAutoCommit()){  
  124.                     conn.rollback();  
  125.                 }  
  126.             }  
  127.               
  128.         }catch(SQLException e){  
  129.               
  130.         }  
  131.     }  
  132.       
  133.     public static void reset(Connection conn){  
  134.         try{  
  135.             if(conn != null){  
  136.                 if(conn.getAutoCommit()){  
  137.                     conn.setAutoCommit(false);  
  138.                 }else{  
  139.                     conn.setAutoCommit(true);  
  140.                 }  
  141.             }  
  142.               
  143.         }catch(SQLException e){  
  144.               
  145.         }  
  146.     }  
  147. }  

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

[java] view plain copy
  1. package UserManager;  
  2. import java.sql.Connection;  
  3. import java.sql.PreparedStatement;  
  4.   
  5. import com.sun.org.apache.bcel.internal.generic.RETURN;  
  6.   
  7. import DbUtil.*;  
  8. public class UserManager {  
  9.       
  10.     public void insertUser(String userId,String userName,String userRoot){  
  11.         //执行插入的sql语句  
  12.         String sql = "INSERT INTO T_TEST1 (USERUD,USERNAME,USERROOT) VALUES (?,?,?)";  
  13.         Connection conn = null;  
  14.         PreparedStatement pstmt = null;  
  15.         try{  
  16.             //得到数据库连接  
  17.             conn = DbUtil.getConnection();  
  18.             pstmt = conn.prepareStatement(sql);  
  19.             //给占位符赋值  
  20.             pstmt.setString(1,userId);  
  21.             pstmt.setString(2, userName);  
  22.             pstmt.setString(3, userRoot);  
  23.             //执行插入语句  
  24.             pstmt.executeUpdate();  
  25.         }catch(Exception e){  
  26.             e.printStackTrace();  
  27.               
  28.         }finally{  
  29.             //关闭相关资源  
  30.             DbUtil.close(pstmt);  
  31.             DbUtil.close(conn);  
  32.         }  
  33.     }  
  34. }  
0 0
原创粉丝点击