总结一下,连接SQL Server数据库需要以下几个步骤:
1. 导入驱动Jar包:sqljdbc.jar
2. 加载并注册驱动程序
3. 设置连接路径
4. 加载并注册驱动
5. 连接数据库
6. 操作数据库
7. 关闭连接
代码如下:
******************连接数据库*******************
1 package zj6_Test; 2 import java.sql.*; 3 public class Zj6_3 { 4 /** 5 * 使用Statement接口实现对数据库的增删改操作 6 */ 7 private static final String driver= 8 "com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载并注册驱动程序 9 private static final String url=10 "jdbc:sqlserver://localhost:1433;DataBaseName=Bank";//设置连接路径11 public static void main(String[] args) {12 Connection con=null;//建立连接池13 Statement sta=null;14 try {15 Class.forName(driver);//加载并注册驱动16 con=DriverManager.getConnection(url, "sa", "sa");//连接数据库17 // 向数据库Bank表中添加数据18 sta=con.createStatement();//通过createStatement()方法得到Statement接口的引用指向的对象19 sta.execute("insert into ACCOUNT values('曹操','420106198205188777','2011-07-07')");20 sta.close(); //关闭Ststement对象21 // //修改表中ACCOUNT_ID为7的数据22 // String ACCOUNT_NAME="曹植";23 // String CODE="420683199203212111";24 // String OPEN_TIME="2011-07-10";25 // sta=con.createStatement();26 // String updatesql="update ACCOUNT set ACCOUNT_NAME='"+ACCOUNT_NAME+"',CODE='"+CODE+"',OPEN_TIME='"+OPEN_TIME+"'where ACCOUNT_ID="+7 ;27 // 28 // sta.execute(updatesql);29 // sta.close();30 // //删除ACCOUNT表中ACCOUNT_ID=7的记录31 // sta=con.createStatement();32 // String delsql="delete from ACCOUNT where ACCOUNT_ID="+7;33 // sta.executeUpdate(delsql);34 // sta.close();35 // con.close(); 36 } catch (Exception e) {37 e.printStackTrace();38 } 39 }40 }
运行结果:
当然,实际应用中,为了体现java封装的特性,往往会把重复使用的方法封装到一个类中,每次直接拿来用就可以了。
下面给一个封装的类:
1 package zj6_Test; 2 import java.sql.*; 3 public class DBManager { 4 /** 5 * 建立专门的自定义类,来实现建立连接、关闭对象和关闭连接 6 */ 7 private static final String driver= 8 "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 9 private static final String url=10 "jdbc:sqlserver://localhost:1433;DataBaseName=Bank";11 private static final String user="sa";12 private static final String pwd="sa";13 private static Connection con=null;//建立连接池对象14 //建立与数据库的连接15 public static Connection getCon(){16 try {17 Class.forName(driver);18 con=DriverManager.getConnection(url,user,pwd);19 } catch (Exception e) {20 21 e.printStackTrace();22 }23 return con; 24 }25 //关闭Connection26 public static void closeCon(Connection con){27 try {28 if(con!=null){29 con.close();30 }31 } catch (SQLException e) {32 e.printStackTrace();33 }34 }35 //关闭ResultSet36 public static void closeResultSet(ResultSet rst){37 try {38 if(rst!=null){39 rst.close();40 rst=null;41 }42 } catch (Exception e) {43 e.printStackTrace();44 }45 } 46 //关闭Statement47 public static void closeStatement(PreparedStatement pst){48 try {49 if(pst!=null){50 pst.close();51 pst=null;52 }53 } catch (Exception e) {54 e.printStackTrace();55 }56 }57 }
能力有限,有些地方地方说法不够专业,还望批评指正!