服务器之家

服务器之家 > 正文

JAVA使用JDBC技术操作SqlServer数据库实例代码

时间:2020-07-21 11:33     来源/作者:Yangyi.He

JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC并不能直接访问数据库,需要借助于数据库厂商提供的JDBC驱动程序。 

数据库连接

如果要在Java访问数据库,首先要加载一个数据库驱动,数据库驱动只需要在第一次访问时加载一次。然后再每次访问数据库时创建一个Connection实例,获取数据库连接,这样就可以执行操作数据库的SQL语句。最后用完后释放掉数据库的连接。

数据库驱动类

不同的数据库实现JDBC接口不同,所以就产生了不同的数据库驱动包。驱动包就包含一些负责数据库连接的类,把我们要操作的SQL语句传递到里面去。我的PC用的是SQL2012,所以我们要去这里http://www.microsoft.com/zh-cn/search/DownloadResults.aspx?q=jdbc下载驱动

下完后在新建的java_project导入驱动包

JAVA使用JDBC技术操作SqlServer数据库实例代码

右击选中项目>>Build Path >>Add External Archives... 选中下载解压的文件

JAVA使用JDBC技术操作SqlServer数据库实例代码


导入成功后的项目:

JAVA使用JDBC技术操作SqlServer数据库实例代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.Project_DataBase01;
 
import java.sql.Connection;
import java.sql.DriverManager;
 
public class SelectQuery {
 
 private Connection conn;
 
 /*
  * 创建一个返回Connection的方法
  */
 public Connection getConnection(){
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   System.out.println("数据库驱动加载成功");
   conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=java_conn_test","sa","123456");
   if(conn==null){
    System.out.println("数据库连接失败");
    System.out.println("-----------------------");
   }else {
    System.out.println("数据库连接成功");
    System.out.println("-----------------------");
   }
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }
  return conn;
 }
 
}

进行SqlServe数据库java_conn_test中的tb_User进行数据的增删改查。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
package com.Project_DataBase01;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class StartMain {
 
 private static Connection conn;
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  conn=new SelectQuery().getConnection();
  
  GetInsert();
  GetSelect();
  
  GetUpdate();
  GetSelect();
  
  GetDelete();
  GetSelect();
 }
 
 /*
  * INSERT
  */
 public static void GetInsert(){
  if(conn!=null){
   //INSERT
   System.out.println("-----------INSERT------------");
   int x=1+(int)(Math.random()*5000);
   String insert_str="INSERT INTO tb_User (UserName,UserPwd,UserId) VALUES ('name_"+x+"','pwd_"+x+"',NEWID())";
   try {
    Statement insertstatement=conn.createStatement();
    int result= insertstatement.executeUpdate(insert_str);
    if(result>0){
     System.out.println("添加成功");
     System.out.println("-----------------------");
    }
    else {    
     System.out.println("添加失败");
     System.out.println("-----------------------");
    }
   } catch (Exception e) {
    System.out.println("添加失败");
    System.out.println("-----------------------");
    // TODO: handle exception
   }
  }
  else {
   System.out.println("请检查数据库连接");
   System.out.println("-----------------------");
  }
 }
 
 /*
  * SELECT
  */
 public static void GetSelect(){
  if(conn!=null){
   
   //SELECT
   System.out.println("-----------SELECT------------");
   String select_str=" SELECT * FROM tb_User ";
   try {
    PreparedStatement selectps=conn.prepareStatement(select_str);
    ResultSet rs=selectps.executeQuery();
    while (rs.next()) {
     String name=rs.getString("UserName");
     String pwd=rs.getString("UserPwd");
     String UserId=rs.getString("UserId");
     System.out.println(name+"\t"+pwd+"\t"+UserId);
    }
    System.out.println("查询成功");
    System.out.println("-----------------------");
   } catch (Exception e) {
    // TODO: handle exception
    System.out.println("查询失败");
    System.out.println("-----------------------");
   }
  }
  else {
   System.out.println("请检查数据库连接");
   System.out.println("-----------------------");
  }
 }
 
 /*
  * UPDATE
  */
 public static void GetUpdate(){
  if(conn!=null){
   //UPDATE
   System.out.println("-----------INSERT------------");
   String update_str="UPDATE tb_User SET UserPwd=UserPwd+'xxxxxxxx' WHERE UserId='fa562573-218a-4205-b67d-ebdfac3f8329'";
   try {
    Statement updatestatement=conn.createStatement();
    int result=updatestatement.executeUpdate(update_str);
    if(result>0){
     System.out.println("修改成功!");
     System.out.println("-----------------------");
    }else {
     System.out.println("修改失败");
     System.out.println("-----------------------");
    }
   } catch (Exception e) {
    // TODO: handle exception
    System.out.println("修改失败");
    System.out.println("-----------------------");
   }
  }
  else {
   System.out.println("请检查数据库连接");
   System.out.println("-----------------------");
  }
 }
 
 /*
  * DELETE
  */
 public static void GetDelete(){
  if(conn!=null){
   //DELETE
   System.out.println("-----------DELETE------------");
   String delete_str="DELETE tb_User WHERE UserId!='fa562573-218a-4205-b67d-ebdfac3f8329'";
   try {
    Statement deletestatement=conn.createStatement();
    int result=deletestatement.executeUpdate(delete_str);
    if(result>0){
     System.out.println("删除成功!");
     System.out.println("-----------------------");
    }else {
     System.out.println("删除失败");
     System.out.println("-----------------------");
    }
   } catch (Exception e) {
    // TODO: handle exception
    System.out.println("删除失败");
    System.out.println("-----------------------");
   }
  }
  else {
   System.out.println("请检查数据库连接");
   System.out.println("-----------------------");
  }
 }
 
}

运行程序:

JAVA使用JDBC技术操作SqlServer数据库实例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/heyangyi/p/6237696.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
返回顶部