可编辑的JDBC链接方法
来源:互联网 发布:建设一个淘宝网站 编辑:程序博客网 时间:2024/06/05 05:25
安全方便写法
新建一个文本资源文件:rec.properties写配置信息
#odbc-jdbc桥接方式此方法可以桥接任意ODBC支持的数据库
#driver="sun.jdbc.odbc.JdbcOdbcDriver";
#url="jdbc:odbc:weasel"; ##最后是数据源名称;
#user="sa"; ##数据源指定的用户名;
#password="";
#
#纯JDBC的SQL SERVER 驱动
#为特定数据库分配一个账号以后,URL就不用DatabaseName项了;
#当然user,password就是使用分配的user,password
#driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
#url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
#user="sa";
#password="";
#ORACLE的部分JAVA驱动程序
#driver=oracle.jdbc.OracleDriver
#url=jdbc:oracle:oci8@localhost ## @ SID
#user=scott
#password=tiger
#ORACLE的纯JAVA驱动程序
driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:weasel
user=scott
password=tiger
写一个获取连接串的程序:DbConfig.java程序:
package text;
import JAVA.util.ResourceBundle;
public class DbConfig {
static final String dbresource = "text.rec"; //注意这里是包路径
static ResourceBundle resources = ResourceBundle.getBundle(dbresource);
static public String getString(String key){
return resources.getString(key);
}
}
这里是连接程序:DBConn.java
package text;
import JAVA.sql.Connection;
import JAVA.sql.DriverManager;
import JAVA.sql.SQLException;
public class DBConn {
public static Connection getConnection(){
final String driver = DbConfig.getString("driver");
final String url = DbConfig.getString("url");
final String user = DbConfig.getString("user");
final String password = DbConfig.getString("password");
Connection conn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
return conn;
}
}
其它程序就可以引用以上程序,改变据库只要修改配置文件就可以了。
Insert program:
package text;
import JAVA.sql.Connection;
import JAVA.sql.PreparedStatement;
import JAVA.sql.SQLException;
import JAVA.sql.Timestamp;
public class PrepareInsertText {
public static void main(String[] args){
final String isql="insert into emp values(?,?,?,?,?,?,?,?)";
Connection conn=DBConn.getConnection();
PreparedStatement pstmt=null;
try{
pstmt= conn.prepareStatement(isql);
pstmt.setDouble(1,8004);
pstmt.setString(2,"bbb");
pstmt.setString(3,"bbb");
pstmt.setInt(4,111);
pstmt.setTimestamp(5,Timestamp.valueOf(("2001-12-21 00:00:00")));
pstmt.setInt(6,1300);
pstmt.setInt(7,0);
pstmt.setInt(8,20);
pstmt.executeUpdate(); //提交处理
}catch(SQLException e){
e.printStackTrace(); //此处可以不写,就可以不弹出错误码信息
}finally{
try {
if(pstmt != null){
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception ex) {
} }
System.out.println("End.");
}
}
Update program:
package text;
import JAVA.sql.Connection;
import JAVA.sql.PreparedStatement;
import JAVA.sql.SQLException;
public class PrepareUpdateText {
public static void main(String[] args ){
final String usql = "update emp set sal = sal + 100 where empno =?";
Connection conn = DBConn.getConnection();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(usql);
int[] empnoes = {8001,8002};
for(int i = 0; i <empnoes.length; i++){
pstmt.setInt(1, empnoes[i]);
pstmt.executeUpdate();
}
}
// catch
}
Select program:
package text;
import JAVA.sql.Connection;
import JAVA.sql.PreparedStatement;
import JAVA.sql.ResultSet;
import JAVA.sql.ResultSetMetaData;
import JAVA.sql.SQLException;
public class PrepareSelectText {
public static void main(String[] args){
final String isql="select * from emp where empno=?";
Connection conn=DBConn.getConnection();
PreparedStatement pstmt=null;
try{
pstmt= conn.prepareStatement(isql);
pstmt.setDouble(1,7931);
ResultSet rs=pstmt.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int colCount = rsmd.getColumnCount();
while(rs.next()){
for(int i=0;i<colCount;i++){
System.out.print("/t"+rs.getObject(i+1));
}
System.out.println();
}
rs.close();
}
//catch
}
//事务处理
package text;
import JAVA.sql.Connection;
import JAVA.sql.SQLException;
import JAVA.sql.Statement;
public class UpdateText {
public static void main(String[] args){
String sql1 = "update emp set sal = sal + 200 where empno = 8801";
String sql2 = "update emp set sal = sal - 200 where empno = 8802";
Connection conn = DBConn.getConnection();
if(conn == null) return;
Statement stmt = null;
try {
System.out.println("Transaction Level =" + conn.getTransactionIsolation()); //显示事务级别
//设置提交模式
conn.setAutoCommit(false); //自动提交为否
stmt = conn.createStatement();
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
conn.commit(); //提交事务
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally{
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} }
}
System.out.println("end.");
}
}
- 可编辑的JDBC链接方法
- 通过JDBC链接Sybase的方法
- JDBC链接Mysql方法
- pdf转换为可编辑的ppt文件的方法
- 可编辑的表头
- 可编辑的CListCtrl
- 可编辑的表格
- 可编辑的grid
- 可编辑的TableView
- 可编辑的CListCtrl
- 可编辑的表格
- 可编辑的TD
- 可编辑的Dialog
- 用FlexGrid的EnterCell方法来实现控件可编辑
- WEB页面内实现可编辑选择框的方法
- WEB页面内实现可编辑选择框的方法
- 让下拉列表select可编辑的简便方法
- 让下拉列表select可编辑的简便方法 2
- Who are the War Criminals?
- Pacifism and the War
- J2EE开发之常用开源项目介绍
- 原码,反码,补码及运算
- My Country Right or Left
- 可编辑的JDBC链接方法
- In Front of Your Nose
- Revenge is Sour
- 可滚动的游标记录集JDBC
- java虚拟机体系结构分析
- Toward European Unity
- 分页程序
- As I Please--PartⅠ
- As I Please--PartⅡ