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();
}
}
}
}
准备工作,下载驱动,添加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();
}
}
}
}
相关文章推荐
- 单链表基本操作以及一些常见的面试问题
- linux的一些基本命令(关于文件操作, 进程操作,以及/boot问题)
- linux下,每次git pull 或者git push都需要输入账号密码的问题以及git remote 的一些基本操作
- Iphone数组一些基础操作 NSArray/NSMutableArray,以及内存注意问题。
- 并查集的一些基本概念以及基本操作(初始化,合并,查询等操作)
- Elastic学习第一天遇到的问题以及添加的一些操作
- 关于kali开机自动启动ssh服务的方法以及配置kalissh的一些基本操作
- Android程序的反编译和防止反编译,以及操作过程中遇到的一些问题
- 【数据库】创建表以及一些基本的表操作
- 源代码管理的基本操作,以及两人合作的产生的问题
- 图的基本操作及BFS与DFS的实现以及飞机换乘问题
- git初始化操作以及一些问题的解决
- mongodb的一些基本操作以及c++驱动的简单方法
- 嵌入式 QT创建数据库以及数据库基本操作问题
- 新项目的一些基本问题以及解决方案
- jquery学习第十番 选择器的一些要注意的问题以及DOM操作
- 黑马程序员JAVA基础-数组以及一些基本操作
- java中JDBC基本操作的一个工具类,一些基本方法
- Flash的一些基本概念以及MTD操作注意点
- 【MySQL】JDBC连接MySQL的一些问题以及解决办法