jdbc操作sql server数据库的基本操作以及一些问题

来源:互联网 发布:java使用hbase数据库 编辑:程序博客网 时间:2024/06/08 00:32

关于jdbc连接数据库网上大多数是关于mysql数据库。但是由于大多数高校使用的是sql server,所以在这里讲一下自己对于jdbc操作sqlserver的一些经验。

准备工作,下载驱动,添加jar包等就不必多言,常规流程。但是,对于sql server,有一些因素会导致连接失败。

1:用户名跟密码的问题

我使用的是sa这个用户名。在使用前需要对改用户名进行设置。将三个密码策略全部勾选掉,密码设置为自己方便的密码。


2、防火墙可能需要关闭,因为有可能因此连不上数据库。

3、tcp/ip未开启

在如下图界面中将tcp/ip开启


4、不同的sql server的驱动名是不同的。所以使用前需要查明自己版本的驱动名。

万众瞩目的时刻到了,上一些代码

连接数据库

public class DBConnector {public static Connection getConnection(String driverClassName,String dbURL,String userName,String password)throws ClassNotFoundException,SQLException{Connection connection=null;Class.forName(driverClassName);connection=DriverManager.getConnection(dbURL, userName, password);return connection;}public static Connection getSQLServerConnector()throws ClassNotFoundException,SQLException{String SQLDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";String dbName="影音租赁系统";String serverport="1433";String username="sa";String password="123456";String serverHost="127.0.0.1";String dbUrl="jdbc:sqlserver://"+serverHost+":"+serverport+"; DatabaseName="+dbName;return getConnection(SQLDriver, dbUrl,username, password);}public static void main(String[] args) throws ClassNotFoundException,SQLException{Connection connection=DBConnector.getSQLServerConnector();System.out.println("连接SQLServer数据库成功");connection.close();System.out.println("成功关闭连接");}}
一些基本操作

public class OperateDB {
public static ResultSet queryDB(Statement sm,String sql){
ResultSet resultSet=null;
try{
resultSet=sm.executeQuery(sql);
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
return resultSet;
}
public static int updatedb(Connection connection,String sql){
Statement statement=null;
int affectRows=0;
try{
statement=connection.createStatement();
affectRows=statement.executeUpdate(sql);
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
affectRows=Statement.EXECUTE_FAILED;
}finally {
closeStatement(statement);
}
return affectRows;
}
public static void showResultset(ResultSet resultSet){
if(resultSet==null){
return;
}
try{
ResultSetMetaData metaData=resultSet.getMetaData();
int columnCount=metaData.getColumnCount();
if(!resultSet.isBeforeFirst()){
resultSet.beforeFirst();
}
while(resultSet.next()){
for(int i=1;i<columnCount;i++){
System.out.print(resultSet.getObject(i)+"\t");
}
System.out.print(resultSet.getObject(columnCount)+"\r\n");
}
resultSet.beforeFirst();
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
}
public static void closeStatement(Statement statement){
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
}

}
public static void closeConnection(Connection connection){
if(connection!=null){
try {
connection.close();
 
} catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}


}



原创粉丝点击