1、crud(增删改查)介绍:create/retrieve/update/delete


2、JDBC介绍
1)JDBC(java database connectivity,java数据库连接)
2)是一种用于运行SQL语句的java  API,可为多种关系数据库提供统一訪问。由一组用Java语言编写的类和接口组成。
3)JDBC为工具/数据库开发者提供了一个标准的API,据此可构建更高级的工具和接口,是数据库开发者可以用纯Java API编写数据库应用程序。
4)JDBC也是闪避表明。


3、JDBC驱动分类
1)JDBC-ODBC桥连接
2)本地协议纯Java驱动程序
3)网络协议纯Java驱动程序
4)本地API

4、JDBC的不足
1)JDBC在java语言层面实现了统一,但不同数据库仍有很多差异。
2)Hibernate(跨数据库操作)是针对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。


5、JDBC-ODBC桥连接操作SQL Server
步骤:
1)開始——控制面板——管理工具——数据源(ODBC)——ODBC数据源管理器——用户DSN——加入——创建新数据源——SQL Server——名称——server“local”或“.”(均表示本地)——下一步——“使用Windows NT验证”——下一步——“更改默认的数据库为XXX”——完毕——測试数据源

2)在程序中连接数据源(import  java.sql.*;)
  • 载入驱动(把须要的驱动程序增加内存)
    • Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
  • 得到连接(指定连接到哪个数据源,username,password)
    • Connection  ct=DriverManager.getConnection("jdbc:odbc:数据库名","sa","password")
    • 注:若为Windows验证,则不须要username和password。

  • 创建Statement或PreparedStatement
    • Statement主要用来发送sql语句到数据库
    • Statement sm=ct.creatStatement();
  • 运行(crud,创建database,备份。恢复)
    • int  i=sm.executeUpdate("insert into dept values('50','保安部','西永')");i表示成功加入的记录条数
    • executeUpdate可cud操作
  • 关闭资源
    • if(sm!=null)
                         sm.close();
                    if(ct!=null)
                          ct.close();

6、补充:
  • 删除一条记录
    • int i==sm.executeUpdate("delete  from  dept  where  dept=50");
  • 查询
    • ResultSet  rs=sm.executeQuery("select  *  from dept");
                    while(rs.next(0){
                         int deptno=rs.getInt(1);
                         String dname=rs.getString(2);
                         String loc=rs.getString(3);
                    }
    • rs指向结果集的第一行的前一行,循环取出。


数据库SQL Server2012笔记(七)——java 程序操作sql server的更多相关文章

  1. Java程序操作数据库SQLserver详解

    数据库基本操作:增删改查(CRUD) crud介绍(增.删.改.查操作) CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据).更新(Update)和删除(Del ...

  2. SQL函数TIMEDIFF在Java程序中使用报错的问题分析

    需求背景 (读者可略过)司机每天从早到晚都会去到不同的自动售货机上补货,而且补货次数和路线等也是因人而异,补货依据是由系统优化并指派.但是目前系统还无法实施有效指挥和优良的补货策略,司机的补货活动因此 ...

  3. SQL学习笔记七之MySQL视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

  4. java程序操作Geometry对象

    Geometry 空间地理对象,Oracle中存储Geometry对象的字段类型是 MDSYS.SDO_GEOMETRY,在数据库中构建Geometry对象的方法: v_pointarray MDSY ...

  5. 大数据-09-Intellij idea 开发java程序操作HDFS

    主要摘自 http://dblab.xmu.edu.cn/blog/290-2/ 简介 本指南介绍Hadoop分布式文件系统HDFS,并详细指引读者对HDFS文件系统的操作实践.Hadoop分布式文件 ...

  6. 读书笔记一 Java程序员的基本修养(数组及其内存管理)

    1.1 数组初始化 1.1.1 java数组是静态的 java数组被初始化之后,该数组所占的内存空间.数组长度都是不可变的. java程序中的数组必须经过初始化才可使用. 数组的初始化有两种方式: 1 ...

  7. Java学习笔记七(目录操作)

    1.介绍 上一篇博客介绍的是java中经常使用的操作文件的方式,本篇博客着重解说一下,在Java中是怎样来操作目录的.主要是利用的是Java.IO包以下的File类,本篇博客着重解说一下该类的构造函数 ...

  8. 数据库SQL Server2012笔记(三)——表的复杂查询

    1.数据分组--max/min/avg/sum/count select  avg(字段名),sum(字段名)  from  表名 select  count(*)  from  表名 select ...

  9. 数据库SQL Server2012笔记(四)——多表查询、子查询、分页查询、用查询结果创建新表和外连接

    1.多表查询 1)笛卡尔集: select  *  from  表名1,表名2 select  *  from  表名1.表名2  where   表名1.字段名=表名2.字段名 注: 若有两张表有同 ...

随机推荐

  1. js插件---图片裁剪cropImgBox(适合练习编写插件之用)

    js插件---图片裁剪cropImgBox(适合练习编写插件之用) 一.总结 一句话总结:无论是灰度还是高对比度的图片,都是先处理canvas的像素,使其变成灰度或者高对比度,然后再用canvas.t ...

  2. ZOJ 2588 Burning Bridges(求桥的数量,邻接表)

    题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2588 Burning Bridges Time Limit: 5 ...

  3. 紫书 例题 9-7 UVa 11584 (线性结构上的动态规划)

    这道题判断回文串的方法非常的秀! 这里用到了记忆化搜索,因为会有很多重复 同时用kase来区分每一组数据 然后还有用递归来判断回文,很简洁 然后这种线性结构的动态规划的题,就是把 当前的这个数组分成两 ...

  4. 通用查询实现方案(可用于DDD)[附源码] -- 简介

    原文:通用查询实现方案(可用于DDD)[附源码] -- 简介 [声明] 写作不易,转载请注明出处(http://www.cnblogs.com/wiseant/p/3985353.html).   [ ...

  5. WPF 支持的多线程 UI 并不是线程安全的

    原文:WPF 支持的多线程 UI 并不是线程安全的 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保留文章署名吕毅(包含链 ...

  6. Swift学习笔记(13)--属性 (Properties)

    普通属性用var和let即可,本文不做详述 1.延迟存储属性 延迟存储属性是指当第一次被调用的时候才会计算其初始值的属性.在属性声明前使用@lazy来标示一个延迟存储属性. class DataImp ...

  7. 使用virtualenv搭建python虚拟开发环境

    在使用python做开发时,如果多人需要在同一台机器上工作,或者机器环境经常变化时, 添加或删除一些python包很可能会影响到你自己的开发环境. 因此,通过virtualenv工具可以创建一个完全属 ...

  8. final使用方法

     final的作用随着所修饰的类型而不同 1.final修饰类中的属性或者变量 不管属性是基本类型还是引用类型.final所起的作用都是变量里面存放的"值"不能变. 这个值,对 ...

  9. AngularJS实现cookie跨域

    前后端分离被越来越多的公司重视利用.然后带来的最棘手的问题就是.用户信息应怎样保存. 一.场景描写叙述 以Java为后台,AngluarJS做前端为例进行描写叙述:当用户在界面登录时.需把用户信息(如 ...

  10. J2SE基础:2.对象的创建与使用

    1:參数传递的值传递与引用传递 A:值传递:基本数据类型传递都是值传递 B:引用传递(地址传递):对象数据类型都是引用传递. 2:类变量与成员变量(实例变量,对象变量) 类变量:通过类名调用,类变量被 ...