首页>代码>java sqlserver数据库导入oracle实例工具>/sqlserverTooracle/src/getandset/OrcdbAccess.java
package getandset;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class OrcdbAccess{
	private Connection con;//连接
	private PreparedStatement  pstm;
	private String dbIp="127.0.0.1";
	private String dbPort="1521";
	private String dbName="ICSS";
	private String dbUser="jsp";
	private String dbPwd="jsp";
	private String conString="jdbc:oracle:thin:@"+dbIp+":"+dbPort+":"+dbName;
	private static OrcdbAccess dba;//数据库操作类对象
	
	//单例模式,构造函数私有
	private OrcdbAccess(){
		
	}
	
	//单例模式,如果第一次使用则新建,如果不是则直接发送
	public static OrcdbAccess getDbAccess(){
		if(dba==null)
			dba=new OrcdbAccess();
		return dba;
	}
	
	//用户自己指定连接字符串
	public  void setValue(String dbIp,String dbPort,String dbName,String dbUser,String dbPwd){
		this.dbIp=dbIp;
        this.dbPort=dbPort;
        this.dbName=dbName;
        this.dbUser=dbUser;
        this.dbPwd=dbPwd;
       this.conString="jdbc:oracle:thin:@"+dbIp+":"+dbPort+":"+dbName;
	}
	
	//获取数据库连接
	public void getCon(){
		try{
			Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动包
			try{
				con=DriverManager.getConnection(conString,dbUser, dbPwd);//初始化数据库连接
			}catch(Exception e){
				System.out.println("初始化数据库连接失败!");
			}
		}catch(Exception e){
			System.out.println("驱动包加载失败!");
		}
	}
	
	public void excute(String sql){
		if(con==null){//如果是第一次连接,则初始化连接
			getCon();
		}
		
		try {
			pstm=con.prepareStatement(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public ResultSet getResultSet(String sql){//根据sql语句返回一个ResultSet结果集
		excute(sql);
		try {
			return pstm.executeQuery();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public String getFirstUnit(String sql){//根据sql语句返回结果集的第一行第一列单元格数据
		excute(sql);
		try {
			String value;
			ResultSet rs=pstm.executeQuery();
			rs.next();
			value=rs.getString(1);
			rs.close();
			return value;//返回第一个单元格数据
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public int getInt(String sql){//返回受影响的行数
		excute(sql);
		
		try {
			return	pstm.executeUpdate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
		return 0;
	}
	
	public void close(){//当最后退出程序时执行就行了,因为是单例模式,所以不用每次都关
		try {
			pstm.cancel();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			con.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
最近下载更多
Hachi6  LV13 2022年1月31日
占山为王7064  LV7 2021年12月31日
yangxuhao  LV1 2021年4月1日
lb1234  LV2 2021年3月18日
runs810  LV1 2021年1月29日
dongzhan  LV12 2020年12月9日
微量的记忆  LV10 2019年7月9日
安宇12345  LV15 2019年7月2日
gxd123  LV1 2019年6月25日
2585235446  LV2 2018年6月8日
最近浏览更多
siximu912  LV10 2023年7月14日
nurmamat001  LV2 2022年11月1日
lingqianjue  LV3 2022年4月27日
Hachi6  LV13 2022年1月31日
空心菜4  LV9 2022年1月12日
占山为王7064  LV7 2021年12月31日
knklan  LV8 2021年12月22日
BruceQ  LV14 2021年12月8日
yangsi1025yss  LV11 2021年11月29日
xiaokeimi01  LV15 2021年6月21日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友