JAVA使用JDBC技术操作SqlServer数据库

时间:2023-01-05 14:01:27

  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使用JDBC技术操作SqlServer数据库

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

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

JAVA使用JDBC技术操作SqlServer数据库

导入成功后的项目:

JAVA使用JDBC技术操作SqlServer数据库

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进行数据的增删改查。

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数据库