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

关于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();
}
}
}


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值