当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>J2EE

浅谈通过使用JDBC的statement进行数据操作

  使用JDBC的statement进行数据的查询,基本步骤如下:

  1. 初始化simpleDbSource对象

  2. 获得getconnection

  3. createStatement 获得查询语句

  4. executeUpdate, 执行更新语句

  5. 关闭使用的statement, connection, 注意次序不要弄错

  注意:更新语句,执行过一次后,column需要递增,否则报错

  Java代码

  1. /**    
  2.  *     
  3.  */    
  4. package db;     
  5.     
  6. import java.io.FileNotFoundException;     
  7. import java.io.IOException;     
  8. import java.sql.Connection;     
  9. import java.sql.ResultSet;     
  10. import java.sql.SQLException;     
  11.     
  12. /**    
  13.  * @author sean    
  14.  *     
  15.  * 1. 初始化simpleDbSource对象    
  16.  * 2. 获得getconnection    
  17.  * 3. createStatement 获得查询语句    
  18.  * 4. executeUpdate, 执行更新语句    
  19.  * 5. 关闭使用的statement, connection, 注意次序不要弄错    
  20.  *     
  21.  * 注意:更新语句,执行过一次后,column需要递增,否则报错    
  22.  */    
  23. public class StatementDemo {     
  24.     
  25.     private static String insertSql="insert into user values('7','sean','[email protected]','hellofromsean')";     
  26.     private static String querySql ="select * from user";     
  27.     
  28.     /**    
  29.      * @param args    
  30.      */    
  31.     public static void main(String[] args) {     
  32.         // TODO Auto-generated method stub     
  33.         DBSource dbSource;     
  34.         Connection conn = null;     
  35.         java.sql.Statement stmt = null;     
  36.              
  37.         try {     
  38.             dbSource = new SimpleDBSource();     
  39.             conn = dbSource.getConnect();     
  40.             stmt = conn.createStatement();     
  41.                  
  42.             //数据库更新工作,包括create, drop, update, insert etc.     
  43.             stmt.executeUpdate(insertSql);     
  44.             System.out.println("执行成功"+ insertSql);     
  45.                  
  46.             //进行数据库查询     
  47.             ResultSet rs = stmt.executeQuery(querySql);     
  48.                  
  49.             //进行遍历     
  50.             while(rs.next()){     
  51.                 System.out.println(rs.getInt(1)+ "\t");     
  52.                 System.out.println(rs.getString(2)+ "\t");     
  53.                 System.out.println(rs.getString(3)+ "\t");     
  54.                 System.out.println(rs.getString(4)+ "\t");     
  55.                 System.out.println("**********************");     
  56.             }     
  57.                  
  58.                  
  59.                  
  60.         } catch (FileNotFoundException e) {     
  61.             // TODO Auto-generated catch block     
  62.             e.printStackTrace();     
  63.         } catch (IOException e) {     
  64.             // TODO Auto-generated catch block     
  65.             e.printStackTrace();     
  66.         } catch (ClassNotFoundException e) {     
  67.             // TODO Auto-generated catch block     
  68.             e.printStackTrace();     
  69.         } catch (SQLException e) {     
  70.             // TODO Auto-generated catch block     
  71.             e.printStackTrace();     
  72.         }     
  73.              
  74.         //依次关闭statement和conn数据库连接对象,清空资源     
  75.         finally{     
  76.             if(stmt!= null){     
  77.                 try {     
  78.                     stmt.close();     
  79.                 } catch (SQLException e) {     
  80.                     // TODO Auto-generated catch block     
  81.                     e.printStackTrace();     
  82.                 }     
  83.                 stmtnull;     
  84.             }     
  85.             if(conn!=null){     
  86.                 try {     
  87.                     conn.close();     
  88.                 } catch (SQLException e) {     
  89.                     // TODO Auto-generated catch block     
  90.                     e.printStackTrace();     
  91.                 }     
  92.                 connnull;     
  93.             }     
  94.         }     
  95.     }     
  96. }    
  97. /**  
  98.  *   
  99.  */  
  100. package db;  
  101. import java.io.FileNotFoundException;  
  102. import java.io.IOException;  
  103. import java.sql.Connection;  
  104. import java.sql.ResultSet;  
  105. import java.sql.SQLException;  
  106. /**  
  107.  * @author sean  
  108.  *   
  109.  * 1. 初始化simpleDbSource对象  
  110.  * 2. 获得getconnection  
  111.  * 3. createStatement 获得查询语句  
  112.  * 4. executeUpdate, 执行更新语句  
  113.  * 5. 关闭使用的statement, connection, 注意次序不要弄错  
  114.  *   
  115.  * 注意:更新语句,执行过一次后,column需要递增,否则报错  
  116.  */  
  117. public class StatementDemo {  
  118.  private static String insertSql="insert into user values('7','sean','[email protected]','hellofromsean')";  
  119.  private static String querySql ="select * from user";  
  120.  /**  
  121.   * @param args  
  122.   */  
  123.  public static void main(String[] args) {  
  124.   // TODO Auto-generated method stub  
  125.   DBSource dbSource;  
  126.   Connection conn = null;  
  127.   java.sql.Statement stmt = null;  
  128.     
  129.   try {  
  130.    dbSource = new SimpleDBSource();  
  131.    conn = dbSource.getConnect();  
  132.    stmt = conn.createStatement();  
  133.      
  134.    //数据库更新工作,包括create, drop, update, insert etc.  
  135.    stmt.executeUpdate(insertSql);  
  136.    System.out.println("执行成功"+ insertSql);  
  137.      
  138.    //进行数据库查询  
  139.    ResultSet rs = stmt.executeQuery(querySql);  
  140.      
  141.    //进行遍历  
  142.    while(rs.next()){  
  143.     System.out.println(rs.getInt(1)+ "\t");  
  144.     System.out.println(rs.getString(2)+ "\t");  
  145.     System.out.println(rs.getString(3)+ "\t");  
  146.     System.out.println(rs.getString(4)+ "\t");  
  147.     System.out.println("**********************");  
  148.    }  
  149.      
  150.      
  151.      
  152.   } catch (FileNotFoundException e) {  
  153.    // TODO Auto-generated catch block  
  154.    e.printStackTrace();  
  155.   } catch (IOException e) {  
  156.    // TODO Auto-generated catch block  
  157.    e.printStackTrace();  
  158.   } catch (ClassNotFoundException e) {  
  159.    // TODO Auto-generated catch block  
  160.    e.printStackTrace();  
  161.   } catch (SQLException e) {  
  162.    // TODO Auto-generated catch block  
  163.    e.printStackTrace();  
  164.   }  
  165.     
  166.   //依次关闭statement和conn数据库连接对象,清空资源  
  167.   finally{  
  168.    if(stmt!= null){  
  169.     try {  
  170.      stmt.close();  
  171.     } catch (SQLException e) {  
  172.      // TODO Auto-generated catch block  
  173.      e.printStackTrace();  
  174.     }  
  175.     stmtnull;  
  176.    }  
  177.    if(conn!=null){  
  178.     try {  
  179.      conn.close();  
  180.     } catch (SQLException e) {  
  181.      // TODO Auto-generated catch block  
  182.      e.printStackTrace();  
  183.     }  
  184.     connnull;  
  185.    }  
  186.   }  
  187.  }  
  188. }  
  189. /**   
  190. *   
  191. */   
  192. package db;   
  193. import java.io.FileNotFoundException;   
  194. import java.io.IOException;   
  195. import java.sql.Connection;   
  196. import java.sql.ResultSet;   
  197. import java.sql.SQLException;   
  198. import java.sql.Statement;   
  199. /**   
  200. * @author sean   
  201. *   
  202. * 1. 初始化simpleDbSource对象   
  203. * 2. 获得getconnection   
  204. * 3. createPreparedStatement 获得查询语句   
  205. * 4. 设置具体更新内容,setInt(colIndex, value), setString(colIndex,value)   
  206. * 4. executeUpdate, 执行更新语句   
  207. * 5. 关闭使用的PreparedStatementstatement, connection, 注意次序不要弄错   
  208. *   
  209. * 注意:更新语句,执行过一次后,column需要递增,否则报错   
  210. */   
  211. public class PreparedStatementDemo {   
  212. private static String querySql ="select * from user";   
  213. private static String pstmtSql = "insert into user values(?,?,?,?)";   
  214. Connection conn1;   
  215. static Statement stmt;   
  216. /**   
  217. * @param args   
  218. */   
  219. public static void main(String[] args) {   
  220. // TODO Auto-generated method stub   
  221. DBSource dbSource;   
  222. Connection conn = null;   
  223. java.sql.PreparedStatement pstmt = null;   
  224. try {   
  225. dbSource = new SimpleDBSource();   
  226. conn = dbSource.getConnect();   
  227. pstmt = conn.prepareStatement(pstmtSql);   
  228. pstmt.setInt(1, 9);   
  229. pstmt.setString(2, "sean");   
  230. pstmt.setString(3, "[email protected]");   
  231. pstmt.setString(4, "add some comments");   
  232. //数据库更新工作,包括create, drop, update, insert etc.   
  233. pstmt.executeUpdate();   
  234. //清空设置的参数,为后续更新准备   
  235. pstmt.clearParameters();   
  236. System.out.println("执行成功"+ pstmtSql);   
  237. //进行数据库查询   
  238. Connection conn1 = dbSource.getConnect();   
  239. Statement stmt = conn1.createStatement();   
  240. ResultSet rs = stmt.executeQuery(querySql);   
  241. //进行遍历   
  242. while(rs.next()){   
  243. System.out.println(rs.getInt(1)+ "\t");   
  244. System.out.println(rs.getString(2)+ "\t");   
  245. System.out.println(rs.getString(3)+ "\t");   
  246. System.out.println(rs.getString(4)+ "\t");   
  247. System.out.println("**********************");   
  248. }   
  249. } catch (FileNotFoundException e) {   
  250. // TODO Auto-generated catch block   
  251. e.printStackTrace();   
  252. } catch (IOException e) {   
  253. // TODO Auto-generated catch block   
  254. e.printStackTrace();   
  255. } catch (ClassNotFoundException e) {   
  256. // TODO Auto-generated catch block   
  257. e.printStackTrace();   
  258. } catch (SQLException e) {   
  259. // TODO Auto-generated catch block   
  260. e.printStackTrace();   
  261. }   
  262. //依次关闭jdbc的statement和conn数据库连接对象,清空资源   
  263. finally{   
  264. if(stmt!= null){   
  265. try {   
  266. stmt.close();   
  267. } catch (SQLException e) {   
  268. // TODO Auto-generated catch block   
  269. e.printStackTrace();   
  270. }   
  271. stmtnull;   
  272. }   
  273. if(pstmt!= null){   
  274. try {   
  275. pstmt.close();   
  276. } catch (SQLException e) {   
  277. // TODO Auto-generated catch block   
  278. e.printStackTrace();   
  279. }   
  280. pstmtnull;   
  281. }   
  282. if(conn!=null){   
  283. try {   
  284. conn.close();   
  285. } catch (SQLException e) {   
  286. // TODO Auto-generated catch block   
  287. e.printStackTrace();   
  288. }   
  289. connnull;   
  290. }   
  291. }   
  292. }   

相关内容
赞助商链接