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

       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导入驱动包

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


导入成功后的项目:


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

}
运行程序:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值