转: jdbc连接数据库需要注意和出错的地方

 * 1、数据库登录模式不能只使用windows登录模式,要采取混合模式登录,

 * 并记住相应的密码和账户;

 * 2、连接数据库后一定要记得关闭资源,否则就会造成资源浪费。

 * 关闭的时候也要注意顺序,先关闭ResultSet 然后关闭 PreparedStatement  最后才关闭 Connection

 * 3、通常我们装好的数据库没有安装sp3或者sp4的补丁,在数据源连接的情况下,不用打 补丁是没有问题的,但是在jdbc连接的情况下,就要安装sp4补丁(在查询分析器的帮助下关于,看你的版本是多少,如果是 8.00.2039  那就说明打好了,如果不是的话,那就要下载sp4来安装)

 *  4、要导入三个m开头的jar包。

 */

下面是一个测试案例,仅供参考:

/*

 * 这是一个用jdbc连接sqlserver的例子

 */

import java.sql.*;

public class Test_1 {

/**

 * @param args

 */

//定义几个连接数据库的变量

private Connection con=null;

private ResultSet rs=null;

private PreparedStatement ps=null;

public void ConSql(){

try {

//jdbc得到连接

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bookshop","sa","10");

//建立一个查询语句

ps=con.prepareStatement("select * from admin");

  rs=ps.executeQuery();

//判断是否有记录

while(rs.next()){

//取出admin表中的第一列的值

String s=rs.getString(1);

//分别在后台打印出相应的值

System.out.println(s);

}

} catch (Exception e) {

e.printStackTrace();

// TODO: handle exception

}finally{

this.fiall();

}

}

//关闭资源

public void fiall(){

try {

if(rs!=null){

rs.close();

rs=null;

}

if(ps!=null){

ps.close();

ps=null;

}

if(con!=null){

con.close();

con=null;

}

} catch (Exception e) {

//打印异常

e.printStackTrace();

// TODO: handle exception

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

        Test_1 t1=new Test_1();

         t1.ConSql();

}

}

原文地址:https://www.cnblogs.com/shadowduke/p/5034771.html