对于一个JDBC程序的解读
来源:互联网 发布:java dom4j生成xml 编辑:程序博客网 时间:2024/06/04 18:56
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=system
这个类的主要作用就是对数据库进行操作。
url=jdbc:oracle:thin:@localhost:1521:orcl
username=system
password=openlab
上面这些数据是单独放在一个叫db_oracle.properties的一个配置文件当中的。
这个类是ConnectionUtils。
import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;//获得连接数据库的连接 并且关闭数据库public class ConnectionUtils {private static String url;private static String driver;private static String username;private static String password;static{//程序装载的时候,只执行一次Properties props = new Properties();try{props.load(ConnectionUtils.class.getClassLoader().getResourceAsStream("配置文件的位置/db_oracle.properties"));}catch(IOException e){e.printStackTrace();}if(props!=null){url = props.getProperty("url");driver = props.getProperty("driver");username = props.getProperty("username");password = props.getProperty("password");try{Class.forName(driver);}catch(ClassNotFoundException e){}}}//获得连接public static Connection openConnection() throws SQLException{return DriverManager.getConnection(url, username, password);}//关闭连接public static void closeConnection(Connection conn){try{if(conn != null){conn.close();}}catch(SQLException e){e.printStackTrace();}}public static void closeStatement(Statement stmt){try{if(stmt != null){stmt.close();}}catch(SQLException e){e.printStackTrace();}}public static void closeResultSet(ResultSet rs){try{if(rs != null){rs.close();}}catch(SQLException e){e.printStackTrace();}}}ConnectionUtils的作用主要是从配置文件中获得到数据库的连接。是一个工具类。为什么要不连接的相关信息写在配置文件中,而不写在程序中,这也是计算机中常用的一个方法。主要是为了在调试的时候,方便。修改的时候容易。定位错误的时候能够很快定位到。这算是一个技巧吧!
import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;public class TestBatch {static Connection conn = null;static Statement stmt = null;public static void main(String[] args){batch();}public static void batch(){String sql1 = "insert into student values(200, 'rose', 19, 'F')";String sql2 = "insert into student values(210, 'martha', 25, 'F')";try{ conn = ConnectionUtils.openConnection();conn.setAutoCommit(false);stmt = conn.createStatement();stmt.addBatch(sql1);stmt.addBatch(sql2);int [] result = stmt.executeBatch();//批量执行conn.commit(); for(int i:result){System.out.println(i);}}catch(SQLException e){e.printStackTrace();}finally{ConnectionUtils.closeConnection(conn);ConnectionUtils.closeStatement(stmt);}}}
这个类的主要作用就是对数据库进行操作。
步骤就是:实现数据库连接,获得语句对象,执行SQL语句。而这里用到了addBatch方法,这个方法是把SQL语句加入到缓冲区。利用executeBatch()方法,批量执行SQL语句,主要目的是为了提高效率。数据库很多的时间主要花在了I/O上,减少I/O的情况下,得到相应的结果,就能够提高效率。
单独把数据库的连接和资源的关闭写在一个类里边,而不业务逻辑写在另一个类中,这样在调试程序的时候,能够很快定位程序的bug,提高调试效率。
- 对于一个JDBC程序的解读
- 一个小的jdbc程序
- 一个简单的JDBC程序
- 一个典型的JDBC小程序
- 创建一个JDBC链接数据库的程序
- JDBC( 九) JDBC对于BLOB的处理
- [初]对于C++内存模型的一个测试小程序
- 对于一个程序的思考1(const与 volatile)
- 对于实现一个优先级队列程序的注解
- 对于纯虚函数的解读
- 对于HTTP保持网络连接的解读
- 对于UIPopoverController的解读(上)
- 对于UIPopoverController的解读(下)
- 对于udp和tcp的详细解读
- 一个经典的JDBC连接MySQL的程序
- 一个经典的JDBC连接MySQL的程序
- JDBC链接MySQL的一个相对完美的小程序
- 编写一个词法分析,对于输入的一段程序,可以获取该程序的单词符号。
- windows phone 手写 画图小应用
- 安全的服务
- JDBC数据库编程
- 关于linux串口编程的一点总结
- iphone开发学什么
- 对于一个JDBC程序的解读
- 在快速启动栏和桌面创建快捷方式(代码片段)
- 调查服务器响应时间的利器 tcprstat
- Android 资源
- windows快捷键
- windows编程修改IP(代码片段)
- 老兵学Java编程(3):如何发布
- Foxit Reader快捷键
- c语言夜未眠3——如何将自己的c文件做出静态库lib