数据库SQL Server2012笔记(七)——java 程序操作sql server

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指向结果集的第一行的前一行,循环取出。
时间: 2024-10-04 00:04:34

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

Java程序操作数据库SQLserver详解

数据库基本操作:增删改查(CRUD) crud介绍(增.删.改.查操作) CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据).更新(Update)和删除(Delete)几个单记事的首字母简写.主要被用在描述软件系统中数据库或者持久层的基本操作功能. Create new records Rctricvc cxisting rccords Update existing records Delete existing records. 要对数据表进行增.删.

J2SE知识点归纳笔记(七)---Java IO Part 1:File类与RandomAccessFile类

J2SE知识点归纳笔记(七)---Java IO Part 1:File类与RandomAccessFile类                                                                 --转载请注明出处:coder-pig 本节引言: 兜兜转转,又回来写Java了,上一篇J2SE知识点归纳笔记(六)---Java常用类是上2014.4.14写的,时隔一年 又来重拾之前还没写完的系列了,前些天群里一个妹子反映她Java基础薄弱,然后抱怨在cs

J2SE知识点归纳笔记(七)---Java IO Part 2:获取键盘输入与IO流体系图

J2SE知识点归纳笔记(七)---Java IO Part 2:获取键盘输入与IO流体系图                                                                 --转载请注明出处:coder-pig 本节引言: 好了,上一节中我们给大家介绍了File与RandomAccessFile类的用法,本节我们还是讲一些 常用的东西,如果学过C++或者C的朋友都知道,获取键盘的输入都很简单,scanf( )和cin就可以 获得我们从控制台输入的参

J2SE知识点归纳笔记(七)---Java IO Part 3:基本字节流

J2SE知识点归纳笔记(七)---Java IO Part 3:基本字节流                                                                 --转载请注明出处:coder-pig 本节引言: 在上一节中我们学习了控制台输入数据的方法以及对Java IO流体系图进行了初步的了解, 在本节中我们针对性地学习一些基本字节流与字符流的使用~开始本节内容: 1.InputStream与OutputStream的相关方法: 首先要说一点的是:这

java程序执行SQL脚本文件

首先引入ibatis-common-2.jar包 import com.ibatis.common.jdbc.ScriptRunner; import com.ibatis.common.resources.Resources; jpetstore测试代码如下: package com.ibatis.jpetstore.test; import java.sql.DriverManager; import java.util.Properties; import com.ibatis.commo

java程序中sql注入分析及优化方案

先来看看百度百科的解释: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到sql注入攻击. 1.java程序

J2SE知识点归纳笔记(七)---Java IO Part 4:基本字符流

J2SE知识点归纳笔记(七)---Java IO Part 4:基本字符流                                                                 --转载请注明出处:coder-pig 本节引言: 上一节中,我们对于Java IO流中的一些基本字节流进行了学习,他们都是InputStream与 OutputStream的子类;本节学习的字符流则是Reader与Writer的子类,好了,话不多说, 开始本节内容! 本节正文: 1.Reade

java程序执行sql文件

List<String> sqlFileList = new ArrayList<String>();从文件读放内容到按分号放到sqlFileListpublic List<String> readSqlFiles(List<String> fileNameList) {List<String> sqlList = new ArrayList<String>();for (String fileName : fileNameList)

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

需求背景 (读者可略过)司机每天从早到晚都会去到不同的自动售货机上补货,而且补货次数和路线等也是因人而异,补货依据是由系统优化并指派.但是目前系统还无法实施有效指挥和优良的补货策略,司机的补货活动因此变得较为随意和散漫.为了有效跟踪司机补货,计算司机补货效率,也为了便于HR月底计算司机绩效,因此提出需求需要根据司机补货记录数据阶段性地计算出补货情况统计值. 需求中指出,按天按司机手机号为统计维度,需要统计司机当天总共补货的机器数(相同机器补多次也只能算一台机器):统计司机当天总共补货的次数(自然