热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种

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

} 

运行程序:

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


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了在SQL中查询分组后每组行数的统计方法。通过使用count()函数和GROUP BY子句可以统计每组的行数,但是如何统计所有组的行数呢?本文提供了一种实现方法,并给出了相应的SQL查询语句。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 仙贝旅行是日本最大的旅游服务平台之一,为广大用户提供优质的日本定制游服务。随着用户数量的增长,仙贝旅行决定与智齿科技合作,全面替换原有客服系统,打造全新的在线客服体系。该体系具备多渠道快速接入的能力,让仙贝旅行轻松与各个渠道的接入用户完成沟通。同时,机器人与人工协同发力,提升客户服务水平。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • SAP羞辱国产软件商:技术停在10年前
    SAP中国研究院总裁芮祥麟表示,国产软件厂商过于热衷概念炒作,技术水平停留在10年前的客户端架构水平。他认为,国内厂商推出基于SOA的产品或转型SAAS模式是不可能的,研发新架构需要时间。当前最热门的概念是云计算,芮祥麟呼吁国产厂商应该潜心研发底层架构。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文讲述了孙悟空写给白骨精的信件引发的思考和反省。孙悟空在信中对自己的行为进行了反思,认识到自己胡闹的行为并没有给他带来实际的收获。他也揭示了西天取经的真相,认为这是玉皇、菩萨设下的一场陷阱。他还提到了师傅的虚伪和对自己的实心话,以及自己作为师傅准备提拔的对象而被派下来锻炼的经历。他认为路上的九九八十一难也都是菩萨算计好的,唐僧并没有真正的危险。最后,他提到了观音菩萨在关键时刻的指导。这封信件引发了孙悟空对自己行为的思考和反省,对西天取经的目的和自己的角色有了更深入的认识。 ... [详细]
author-avatar
hobeson_861
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有