您的位置:首页 > 数据库

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

2017-06-27 15:27 447 查看
关于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();
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数据库