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

 更新时间:2017年01月01日 08:29:49   作者:Yangyi.He  
本篇文章主要介绍了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("-----------------------");
  }
 }

} 

运行程序:

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

相关文章

  • java计算自幂数和水仙花数

    java计算自幂数和水仙花数

    对于一个正整数而言,长度是n,如果它的各位上的数字的n次方之和正好等于它本身,那么我们称这样的数为自幂数,下面使用JAVA实现这个方法
    2014-03-03
  • Java修改PowerPoint幻灯片批注信息

    Java修改PowerPoint幻灯片批注信息

    这篇文章主要介绍了Java修改PowerPoint幻灯片批注信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • IDEA mybatis-generator逆向工程生成代码

    IDEA mybatis-generator逆向工程生成代码

    这篇文章主要介绍了IDEA mybatis-generator逆向工程生成代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 学习java一定要知道的垃圾收集器

    学习java一定要知道的垃圾收集器

    这篇文章主要介绍了学习java一定要知道的垃圾收集器,垃圾收集器的发展路线,简单来说是随着内存越来越大而发生变化,更多相关介绍需要的朋友可以参考一下
    2022-07-07
  • 浅谈Maven环境隔离应用

    浅谈Maven环境隔离应用

    这篇文章主要介绍了浅谈Maven环境隔离应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Spring与Dubbo搭建一个简单的分布式详情

    Spring与Dubbo搭建一个简单的分布式详情

    这篇文章主要介绍了Spring与Dubbo搭建一个简单的分布式详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • spring boot中多线程开发的注意事项总结

    spring boot中多线程开发的注意事项总结

    spring boot 通过任务执行器 taskexecutor 来实现多线程和并发编程。下面这篇文章主要给大家介绍了关于spring boot中多线程开发的注意事项,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • springmvc之获取参数的方法(必看)

    springmvc之获取参数的方法(必看)

    下面小编就为大家带来一篇springmvc之获取参数的方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • mybatis插入数据后如何返回新增数据的id值

    mybatis插入数据后如何返回新增数据的id值

    当往mysql数据库插入一条数据时,有时候需要知道刚插入的信息,下面这篇文章主要给大家介绍了关于mybatis插入数据后如何返回新增数据id值的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • IDEA 集成 Docker 插件一键部署 SpringBoot 应用小结

    IDEA 集成 Docker 插件一键部署 SpringBoot 应用

    通过本文介绍的方法,我们期望能帮助开发者更轻松地在IDEA中实现Spring Boot应用的Docker化部署,为现代软件开发提供更便捷的解决方案,感兴趣的朋友一起看看吧
    2023-11-11

最新评论