详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

总结一下,连接SQL Server数据库需要以下几个步骤:

1. 导入驱动Jar包:sqljdbc.jar

2. 加载并注册驱动程序

3. 设置连接路径

4. 加载并注册驱动

5. 连接数据库

6. 操作数据库

7. 关闭连接

代码如下:

******************连接数据库*******************

 package zj6_Test;
import java.sql.*;
public class Zj6_3 {
/**
* 使用Statement接口实现对数据库的增删改操作
*/
private static final String driver=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载并注册驱动程序
private static final String url=
"jdbc:sqlserver://localhost:1433;DataBaseName=Bank";//设置连接路径
public static void main(String[] args) {
Connection con=null;//建立连接池
Statement sta=null;
try {
Class.forName(driver);//加载并注册驱动
con=DriverManager.getConnection(url, "sa", "sa");//连接数据库
// 向数据库Bank表中添加数据
sta=con.createStatement();//通过createStatement()方法得到Statement接口的引用指向的对象
sta.execute("insert into ACCOUNT values('曹操','420106198205188777','2011-07-07')");
sta.close(); //关闭Ststement对象
// //修改表中ACCOUNT_ID为7的数据
// String ACCOUNT_NAME="曹植";
// String CODE="420683199203212111";
// String OPEN_TIME="2011-07-10";
// sta=con.createStatement();
// String updatesql="update ACCOUNT set ACCOUNT_NAME='"+ACCOUNT_NAME+"',CODE='"+CODE+"',OPEN_TIME='"+OPEN_TIME+"'where ACCOUNT_ID="+7 ;
//
// sta.execute(updatesql);
// sta.close();
// //删除ACCOUNT表中ACCOUNT_ID=7的记录
// sta=con.createStatement();
// String delsql="delete from ACCOUNT where ACCOUNT_ID="+7;
// sta.executeUpdate(delsql);
// sta.close();
// con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

运行结果:

详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

当然,实际应用中,为了体现java封装的特性,往往会把重复使用的方法封装到一个类中,每次直接拿来用就可以了。

下面给一个封装的类:

 package zj6_Test;
import java.sql.*;
public class DBManager {
/**
* 建立专门的自定义类,来实现建立连接、关闭对象和关闭连接
*/
private static final String driver=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String url=
"jdbc:sqlserver://localhost:1433;DataBaseName=Bank";
private static final String user="sa";
private static final String pwd="sa";
private static Connection con=null;//建立连接池对象
//建立与数据库的连接
public static Connection getCon(){
try {
Class.forName(driver);
con=DriverManager.getConnection(url,user,pwd);
} catch (Exception e) { e.printStackTrace();
}
return con;
}
//关闭Connection
public static void closeCon(Connection con){
try {
if(con!=null){
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//关闭ResultSet
public static void closeResultSet(ResultSet rst){
try {
if(rst!=null){
rst.close();
rst=null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
//关闭Statement
public static void closeStatement(PreparedStatement pst){
try {
if(pst!=null){
pst.close();
pst=null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

能力有限,有些地方地方说法不够专业,还望批评指正!

上一篇:laravel的消息队列剖析


下一篇:ThinkPHP连接sql server数据库