jdbc 连接SQLserver 和mysql

时间:2022-11-21 05:01:30

今天温习了一下jdbc 连接数据的操作,还发现了不少问题


1、连接SQL


//2000 jdk 是1.4的以上  com.microsoft.jdbc.sqlserver.SQLServerDriver

//2008 jdk 是1.6以上 com.microsoft.sqlserver.jdbc.SQLServerDriver

这两个有区别 如果选错了会报错

找不到sqljdbc4.jar 找我给你


//com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Se rver 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

这个是防火墙打开了或者 SQL Server 2014 配置管理器 里面的TCP/IP 端口号不是1433

还有就是TCP/IP 端口事关闭状态

jdbc 连接SQLserver 和mysql


package TestJdbc;


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

import org.junit.Test;

public class test {


@Test
public void testjdbc() {

Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;

try {
//加载驱动
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  //建立连接
   conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=东航电子客票系统", "sa", "123");
 
   //查询数据库的表
   ps=conn.prepareStatement("select * from BM_BaseNatureDetailedList");
  //放回结果集
   rs=ps.executeQuery();
   while(rs.next()){
   //读取数据出来
   System.out.println("姓名:"+rs.getObject("FoundationNatureDetailedMC"));
   
   }
   
   
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally { //释放资源

if(rs!=null){

try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

}


2、连接MySQL

换汤不换药,都是改一下驱动连接 和数据库 其他都是一样的

package TestJdbc;

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

import org.junit.Test;


public class test {


@Test
public void testjdbc() {

Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;

try {

//加载驱动
Class.forName("com.mysql.jdbc.Driver");
  //建立连接
  conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/borrowing", "Load", "sa123456");
   //查询数据库的表
 ps=conn.prepareStatement("select * from invest");
  //放回结果集
   rs=ps.executeQuery();
   while(rs.next()){
   //读取数据出来
   System.out.println("姓名:"+rs.getObject("investmoney"));
   }
   
   
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally { //释放资源

if(rs!=null){

try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
}
}