Java连接sqlserver

原创 Laughing  2017-11-06 12:55  阅读 31 次 评论 0 条

通过jdbc的方式连接sqlserver数据库

下载驱动

首先我们需要下载sqlserver对应的驱动,下载连接如下


下载完成后,解压得到对应的jar驱动包。

eclipse引入jar包

项目上右键选择Properties(快捷键ALT+ENTER),然后依次定位到Libraries,点击Add External Jars,然后选择对应的jar包,如下图

建立数据库帮助类

  1. package Sqlserver;  
  2.   
  3. import java.sql.*;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6.   
  7. import javax.naming.spi.DirStateFactory.Result;  
  8.   
  9. import com.microsoft.sqlserver.jdbc.*;;  
  10.   
  11. public class DBHelper {  
  12.     Connection connection = null;  
  13.   
  14.     private Connection getConnection(String sUser, String sPwd) {  
  15.         try {  
  16.             String sDriveName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";  
  17.             String sDbUrl = "jdbc:sqlserver://114.115.214.130;databaseName=JavaStudy";  
  18.             Class.forName(sDriveName);  
  19.             connection = DriverManager.getConnection(sDbUrl, sUser, sPwd);  
  20.         } catch (Exception e) {  
  21.             System.out.println(e.getMessage());  
  22.         }  
  23.         return connection;  
  24.     }  
  25.   
  26.     public boolean TestConn(String sUser, String sPwd) {  
  27.         if (getConnection(sUser, sPwd) == null) {  
  28.             connection = null;  
  29.             return false;  
  30.         }  
  31.         return true;  
  32.     }  
  33.   
  34.     private void CloseConn() {  
  35.         if (connection != null) {  
  36.             try {  
  37.                 connection.close();  
  38.                 connection = null;  
  39.             } catch (Exception e) {  
  40.                 // TODO: handle exception  
  41.                 System.out.println(e.getMessage());  
  42.                 connection = null;  
  43.             }  
  44.         }  
  45.     }  
  46.   
  47.     public ResultSet GetResultSet(String sql, Object[] params) {  
  48.         getConnection("sa""19900629");  
  49.         ResultSet resultSet = null;  
  50.         try {  
  51.             PreparedStatement preparedStatement = connection.prepareStatement(sql);  
  52.             if (params != null) {  
  53.                 for (int i = 0; i < params.length; i++) {  
  54.                     preparedStatement.setObject(i + 1, params[i]);  
  55.                 }  
  56.             }  
  57.             resultSet = preparedStatement.executeQuery();  
  58.             while (resultSet.next()) {  
  59.                 System.out.println(resultSet.getString("name"));  
  60.             }  
  61.             CloseConn();  
  62.         } catch (Exception ex) {  
  63.             System.out.println(ex.getMessage());  
  64.             CloseConn();  
  65.         }  
  66.         return resultSet;  
  67.     }  
  68.   
  69.     public int update(String sql, Object[] params) {  
  70.         getConnection("sa""19900629");  
  71.         try {  
  72.             PreparedStatement preparedStatement = connection.prepareStatement(sql);  
  73.             if (params != null && params.length > 0) {  
  74.                 for (int i = 0; i < params.length; i++) {  
  75.                     preparedStatement.setInt(i + 1, Integer.parseInt(params[i].toString()));  
  76.                 }  
  77.             }  
  78.             int count = preparedStatement.execute() == true ? 1 : 0;  
  79.             CloseConn();  
  80.             return count;  
  81.         } catch (Exception e) {  
  82.             System.out.println(e.getMessage());  
  83.             CloseConn();  
  84.             return -1;  
  85.             // TODO: handle exception  
  86.         }  
  87.     }  
  88.   
  89.     public List<Brand> getList() {  
  90.         List<Brand> brands = new ArrayList<Brand>();  
  91.         try {  
  92.             getConnection("sa""19900629");  
  93.             String sql="SELECT ID,name FROM t_brand";  
  94.             PreparedStatement preparedStatement = connection.prepareStatement(sql);  
  95.             ResultSet resultSet = preparedStatement.executeQuery();  
  96.             while(resultSet.next()) {  
  97.                 Brand brand = new Brand();  
  98.                 brand.ID = resultSet.getInt("ID");  
  99.                 brand.name = resultSet.getString("name");  
  100.                 brands.add(brand);  
  101.             }  
  102.             return brands;  
  103.         } catch (Exception e) {  
  104.             // TODO: handle exception  
  105.             System.out.println(e.getMessage());  
  106.             return null;  
  107.         }  
  108.     }  
  109.       
  110.     public void GetDataByProcedure() {  
  111.         try {  
  112.             getConnection("sa""19900629");  
  113.             CallableStatement callableStatement = connection.prepareCall("{call Get_Data(?)}");  
  114.             callableStatement.setInt(11);  
  115.             ResultSet resultSet = callableStatement.executeQuery();  
  116.             while(resultSet.next()) {  
  117.                 System.out.println(resultSet.getString("name"));  
  118.             }  
  119.         }catch (Exception e) {  
  120.             // TODO: handle exception  
  121.             System.out.println(e.getMessage());  
  122.         }  
  123.     }  
  124. }  
建立实体类Brand.java
  1. package Sqlserver;  
  2.   
  3. public class Brand {  
  4.     public String name;  
  5.     public int ID;  
  6. }  
测试代码
  1. package Sqlserver;  
  2.   
  3. import java.sql.ResultSet;  
  4. import java.util.List;  
  5.   
  6. public class mainclass {  
  7.   
  8.     public static void main(String[] args) {  
  9.         // TODO Auto-generated method stub  
  10.         DBHelper dbHelper = new DBHelper();  
  11.         if (dbHelper.TestConn("sa""xxx")) {  
  12.             System.out.println("数据库连接成功");  
  13.             /*获取 
  14.             String sql = "SELECT * FROM t_brand WHERE ID=?"; 
  15.             Object[] params = new Object[1]; 
  16.             params[0] = 1; 
  17.             ResultSet resultSet = dbHelper.GetResultSet(sql, params); 
  18.             System.out.println(resultSet.toString()); 
  19.             */  
  20.             /* 
  21.             String sql="UPDATE t_brand SET name='飘柔修改2' where ID=?"; 
  22.             Object[] params = new Object[1]; 
  23.             params[0]="1"; 
  24.             int count = dbHelper.update(sql, params); 
  25.             System.out.println(count); 
  26.             */  
  27.             List<Brand> brands = dbHelper.getList();  
  28.             for(Brand brand:brands) {  
  29.                 System.out.println(brand.name);  
  30.             }  
  31.         } else {  
  32.             System.out.println("数据库连接失败");  
  33.         }  
  34.     }  
  35.   
  36. }  

演示数据库

  1. USE [JavaStudy]  
  2. GO  
  3.   
  4. /****** Object:  Table [dbo].[t_brand]    Script Date: 2017/11/6 12:54:11 ******/  
  5. SET ANSI_NULLS ON  
  6. GO  
  7.   
  8. SET QUOTED_IDENTIFIER ON  
  9. GO  
  10.   
  11. CREATE TABLE [dbo].[t_brand](  
  12.     [ID] [int] IDENTITY(1,1) NOT NULL,  
  13.     [Name] [varchar](50) NULL,  
  14.  CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED   
  15. (  
  16.     [ID] ASC  
  17. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ONON [PRIMARY]  
  18. ON [PRIMARY]  
  19. GO  
本文地址:https://www.lisen.me/java-connect-to-sqlserver.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!
PREVIOUS:已经是最后一篇了

发表评论


表情