oracle,sqlserver,mysql三种数据库连接Demo

都是自己写的源码直接复制过来的,可直接粘用(记得建数据库啊)

public class A {
    public static Connection conn; 
    public static ResultSet rs = null ;    
    public static Statement st = null ;

    public static void main(String[] args) {

        getConnection("127.0.0.1", "3306", "ly", "root", "root", "c");
    }


    public static void getConnection(String ip,String port,String dbname,String user,String pwd,String type){    
        String url = "";
        try {

            //初始化驱动包     
            try {
                //判断需要连接的数据库类型
                if(type.equals("a")){

                    //sqlserver 连接
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                    url = "jdbc:sqlserver://" + ip + ":" + port + ";databaseName=" + dbname;
                }else if(type.equals("b")){

                    //oracle 连接
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    url = "jdbc:oracle:thin:@" + ip + ":" + port + ":" + dbname;
                }else{
                    //mysql 连接
                    Class.forName("com.mysql.jdbc.Driver");
                    url = "jdbc:mysql://" + ip + ":" + port + "/" + dbname ;
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.out.println("驱动类加载失败!");
            }

            //连接数据库
            try {
                conn=DriverManager.getConnection(url, user, pwd);
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("数据库连接失败!");
            }

            //查询
            List<Map> list = new ArrayList<Map>();
            st = conn.createStatement();
            String sql = " select * from user ";
            rs = st.executeQuery(sql);
            while (rs.next()) {     
                Map<String,String> map = new HashMap<String,String>();
                map.put("id", rs.getString("id"));
                map.put("name",  rs.getString("name"));
                map.put("rolekey",  rs.getString("rolekey"));
                list.add(map);
            }
            System.out.println("2222222==="+list);

        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            //关闭(必须有)
            try {
                if(rs!=null){
                    rs.close();
                }
                if(st!=null){
                    st.close();
                }
                if(conn!=null){
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
    }   

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值