转自:http://www.cnblogs.com/weilengdeyu/archive/2013/01/17/2864321.html
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;
- 加载驱动
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
JDBC初步 JDBC连接SQLServer 2008之心路历程的更多相关文章
-
Java连接SqlServer 2008数据库
将sqljdbc4.jar包添加到工程 连接SqlServer 2008数据库 import java.sql.Connection; import java.sql.DriverManager; i ...
-
【JSP动态网站】JDBC连接SqlServer 2008数据库
JSP程序需要通过JDBC接口才能访问数据库. 启动MyEclipse,选择“Window”→“Open Perspective”→“MyEclipse Database Explorer”菜单项,打 ...
-
openfire 连接sqlserver 2008 的一个问题
由于本人的笨拙,搞了一天才终于搞好,说实在的问题归根结底还是在sql上,要相信openfire是没问题的.好了,不瞎扯了,说正题. 本人的机器环境为:win7.sqlserver 2008.jdk1. ...
-
thinkphp3.2.3连接sqlserver 2008 R2 数据库
环境: 操作系统——win7 64位旗舰版 PHP——thinkphp 3.23 数据库——Microsoft SQL Server 2008 R2 需要用到的软件: 步骤: 1.搜索SQLSRV30 ...
-
使用JDBC访问SQLServer 2008
使用JDBC访问SQLServer 2008 // 准备数据库驱动程序 String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriv ...
-
解决com.microsoft.sqlserver.jdbc.SQLServerException: 该连接已关闭
com.microsoft.sqlserver.jdbc.SQLServerException: 该连接已关闭. at com.microsoft.sqlserver.jdbc.SQLServerEx ...
-
jdbc 连接 sqlserver 学习
使用sqljdbc.jar 连接sqlserver 下载网址: http://www.drv5.cn/sfinfo/8228.html#softdown package test_sql_server ...
-
JDBC基础与连接sql2012
JDBC简介 JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包: java.sql javax.sql 以上2个包 ...
-
JMeter学习(八)JDBC测试计划-连接Oracle(转载)
转载自 http://www.cnblogs.com/yangxia-test 一.测试环境准备 Oracle:10g JDBC驱动:classes12.jar oracle安装目录下(orac ...
随机推荐
-
使用Linux碎解二
承接上文碎解一.本章讲述,基本配置. 一.网络配置相关. error:(执行yum 命令时出现)Cannot find a valid baseurl for repo:base/7/x86_64 解 ...
-
zendstudio文件编码修改问题
转载:http://blog.csdn.net/kunlong0909/article/details/7818620 朋友,在zendstudio ide中,你是否碰到导入一个项目后,发现项目中文件 ...
-
java-测试synchronized使用xxx.class和this使用的区别
synchronized测试1 写两个线程调用同一个方法,在其中分别做一个class和this的调用,看结果 1.xx.class public class Test{ public static v ...
-
window自动切换ip的脚本
因为总要切换ip,所以百度了一下脚本 如下http://jingyan.baidu.com/article/d2b1d1029d21b95c7e37d4fa.html 动态ip netsh inter ...
-
POJ 3614 Sunscreen 贪心
题目链接: http://poj.org/problem?id=3614 Sunscreen Time Limit: 1000MSMemory Limit: 65536K 问题描述 to avoid ...
-
poj 2774 Long Long Message 后缀数组LCP理解
题目链接 题意:给两个长度不超过1e5的字符串,问两个字符串的连续公共子串最大长度为多少? 思路:两个字符串连接之后直接后缀数组+LCP,在height中找出max同时满足一左一右即可: #inclu ...
-
Caesar
要求实现用户输入一个数改变26个字母的排列顺序 例如输入3: DEFGHIJKLMNOPQRSTUVWXYZABC 输入-3: XYZABCDEFGHIJKLMNOPQRSTUVW 使用循环链表 代码 ...
-
结对编程项目总结 by:陈宏伟&;刘益
结对编程项目在欢快的国庆假期中也顺利结束了.从最初拿到结对编程项目的思考,再到一步一步实现,中间经历了一个漫长的过程.在我和队友的多次协商下,最终我们还是选择使用基于python来实现这一次结对编程项 ...
-
C#设计模式--观察者模式(发布-订阅模式)
0.C#设计模式--简单工厂模式 1.C#设计模式--工厂方法模式 2.C#设计模式--抽象工厂模式 3.C#设计模式--单例模式 4.C#设计模式--建造者模式 5.C#设计模式--原型模式 6.C ...
-
使用LVS实现负载均衡原理及安装配置详解(转)
负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学 ...