最近写了一个java连接SQLServer数据库的程序,复制如下:
import java.sql.*;
public class TestJdbc {
/**
* JDBC编程--连接SqlServer
*/
public static void main(String[] args) {
String url = "jdbc:sqlserver://localhost:1433; DatabaseName=Test1";
String user = "sa";
String password = "123456";
Connection con =null;
PreparedStatement pstm = null;
//ResultSet rs = null;
String sql = "insert into test1 values (?,?)";
if(args.length>2){
System.out.println("请输入正确的参数个数");
System.exit(-1);
}
int sno = Integer.parseInt(args[0]);
String sdept = args[1];
try {
//加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//建立数据库的连接
con = DriverManager.getConnection(url, user, password);
//发送SQL请求
pstm = con.prepareStatement(sql);
pstm.setInt(1, sno);
pstm.setString(2, sdept);
//执行sql语句
pstm.executeUpdate();
/*rs = stm.executeQuery(sql);
//通过遍历查询结果集
while(rs.next()){
System.out.println(rs.getString("sno") + " "+rs.getString("sdept"));
}*/
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try{
if(pstm != null) pstm.close();
//if(rs != null) rs.close();
if(con != null)con.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
}
现在对java连接各种类型的数据库,步骤做一个总结:
1.加载JDBC的驱动:
有三种可行的方法:
方法一:Class.forName(DriverManager); //最常用的方法
sqlserver数据库的驱动名称:com.microsoft.sqlserver.jdbc.SQLServerDriver另外两种数据库的驱动名称下面给出:
Oracle的DriverName=“oracle.jdbc.driver.OracleDriver“;
MySql的DriverName=“com.mysql.jdbc.Driver“;
Class.forName(DriverName).newInstance();
方法三:直接创建一个驱动对象:new oracle.jdbc.driver.OracleDriver();
2.建立与数据库的连接
Connection con = DriverManager.getconnection(String URL,String user,String password);
sqlserver的URL: jdbc:micsoft:sqlserver://localhost:1433/数据库名;
另外两种数据库URL的书写格式如下:
1) Oracle URL格式为:
jdbc:oracle:thin:(协议)@xxx。Xxx。xxx。xxx:xxx(ip地址及端口号):xxx(所使用的数据库名字)
例:jdbc:oracle:thin:@localhost:1521:ambow;
2)MySql URL的写法:
例:jdbc:mysql:// localhost:3306 / 数据库名;
3.创建一个Statement或者PreparedStatement,来发送sql请求;Statement stm= con.createStatement();
PreparedStatement pstm=con.prepareStatement(sql);
4.执行SQL语句:ResultSet rs= stm.executeQuery(sql);
ResultSet rs=pstm.executeQuery();
5.遍历获取查询结果集:(只针对查询语句)
while(rs.next()){
System.out.print(rs.getString("列名") + " ");
}
6.关闭Statement,ResultSet, Connection:
原则是后打开的先关闭;