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

JDBC初步JDBC连接SQLServer2008之心路历程

JDBC简介今天,研究了下JDBC连接SQLServer2008的过程,为了日后学习的方便,就把自己的心得写出来,供自己日后参考,如果这篇文章对您有所帮助,那就更好了。首先,大家需要知道的是JDBC仅仅是一个接口,通过JDBC去加载对应的驱动程序,进而来操作数据库

JDBC简介 今天,研究了下JDBC连接SQL Server2008的过程,为了日后学习的方便,就把自己的心得写出来,供自己日后参考,如果这篇文章对您有所帮助,那就更好了。 首先,大家需要知道的是JDBC仅仅是一个接口,通过JDBC去加载对应的驱动程序,进而来操作数据库

   JDBC简介

今天,研究了下JDBC连接SQL Server2008的过程,为了日后学习的方便,就把自己的心得写出来,供自己日后参考,如果这篇文章对您有所帮助,那就更好了。

首先,大家需要知道的是JDBC仅仅是一个接口,通过JDBC去加载对应的驱动程序,进而来操作数据库。换句话说,JDBC需要依赖对应数据库的驱动程序才可以访问数据库。所以,当我们在机器上安装了一个数据库后,应用程序是不能直接操作数据库的,只有安装了对应的驱动程序后,应用程序才可以通过驱动程序去操作数据库。

JDBC全称:

Java Data Base Connectivity(java数据库连接)

组成JDBC的2个包:

Java.sql和javax.sql

    开发JDBC应用时除了需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)

JDBC案例实战

下面我们通过一个简单的增删改查案例来看下JDBC如何与数据库交互,今天我们探讨的是与SQL Server2008如何交互。因为SQL Server2000的服务端口默认为1433 不需要配置。而2008的端口为动态端口,所以我们以2008为例讲解。

第一步:搭建实验环境

1, 在SQL server 2008中创建一个Myschool数据库,并创建Admin表

Admin表中就两个字段(LoginId,LoginPwd),并且都是nvarchar类型,由于这个过程比较简单,我们就不再赘述。

2, 编写程序,在程序中加载数据库驱动

我们打开Eclipse或者Myeclipse发开环境,新建一个java项目。

我这里以Myeclipse 10.0为例讲解。

新建一个java项目,命名为javaJDBC,新建一个Java类,命名为MyFirstCon.java,

然后对项目javaJDBC点击右键添加一个lib文件夹,将sqljdbc4.jar复制到lib文件夹中。对sqljdbc4点右键,出现如下菜单

     点击Add to Build Path,然后导入如下命名空间:

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    接下来,我们就可以编写代码了,但是上面我们提到SQL Server 2008中端口为动态的。那么如何使端口成为固定端口呢?我们需要设定一下:

  找到Sql Server下的配置管理器,找到SQL server 网络配置,然后找到本机上安装的数据库实例,如下图

   这里我们选中Happy的协议,然后双击右侧列表中的Tcp/IP,切换到IP地址选项卡,

    找到IP地址为127.0.0.1的IP地址,将已启动属性设置为是,

    然后找到IPAll节点,如下图

    然后点击应用,最后点击确定就可以了。

    然后,按照下图设置,

    

    将已启用属性设置成是。

    切记:设置完成后要重新启动SQL Server服务。

  二、编写代码

   以下代码均写在Main方法中

   Connection con=null;

  1. 加载驱动

  try {

   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

    } catch (Exception e) {

     e.printStackTrace();

    }

  2,获取与数据库连接

    con=DriverManager.getConnection("jdbc:sqlserver://happy\\happy:1435;DatabaseName=Myschool","sa","123");

  3, 获取用于向sql发送命令的statement

    Statement stmt=null;

    stmt=con.createStatement();

  4, 向数据库发送SQL命令

    String sql="insert into admin values('1112','1112') ";

    if(stmt.executeUpdate(sql)>0){

   System.out.println("新增数据成功");

  }else {

   System.out.println("新增数据失败!");

   }

  5.关闭连接

  Stmt.close()

  Con.close();

  好了,第一个新增的案例完成。

  在讲解下述内容前,我们先来看下Statement的常用方法

  Statement常用方法

    01.executeQuery(String sql):执行sql查询并获取到ResultSet对象,返回值为ResultSet

    02.executeUpdate(String sql):可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数,int类型。

    03,execute(String sql):可以执行任意SQL语句,然后获得一个布尔值,表示是否返回Result。

    /***************************Update*****************************/

    //更新

    String sql="update admin set loginpwd='111' where loginid='112'";

    stmt.executeUpdate(sql);

    /*************************delete*****************************/

    //删除

    String sql="delete from admin where loginid='1112'";

    stmt.executeUpdate(sql);

    /*************************select*****************************/

    //查询

    String sql="select * from admin";

  ResultSet rs=stmt.executeQuery(sql);

  while(rs.next()){

System.out.println(rs.getString("loginid"));

System.out.println(rs.getString("loginpwd"));

  }

    PreparedStatement接口

    PreparedStatement接口继承Statement接口,比普通的Statement对象使用起来更加灵活,更有效率,使用方式和Statement相同

这次分享就到这里,如有需要,可以联系我,email:yymqqc@126.com

推荐阅读
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 本文介绍了在Java开发中创建子包(package)的正确步骤,并解析了可能出现的错误情况。其中包括第一种错误情况的解决方法,以及在空包下只建一个包时可能出现的问题及解决方法。通过多建几个包,可以让IDE自动将父包提取出来,形成正确的层次结构。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 使用J2SE模拟MVC模式开发桌面应用程序的工程包的介绍
    以我开发过的一个娱乐管理系统为例:下图为我系统的业务逻辑的MVC流程:下图为以Eclipse开发中各包的说明:转载于:https:blog ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 模块化区块链生态系统的优势概述及其应用案例
    本文介绍了相较于单体区块链,模块化区块链生态系统的优势,并以Celestia、Dymension和Fuel等模块化区块链项目为例,探讨了它们解决可扩展性和部署问题的方案。模块化区块链架构提高了区块链的可扩展性和吞吐量,并提供了跨链互操作性和主权可扩展性。开发人员可以根据需要选择执行环境,并获得奖学金支持。该文对模块化区块链的应用案例进行了介绍,展示了其在区块链领域的潜力和前景。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
author-avatar
涵涵幸福2010_759
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有