JavaWeb程序连接SQLserver数据库
声明:一直以来都以为javaweb程序连接数据库是一个很高大上很难的问题,结果今天学习了一下,不到两个小时就解决了,所以总结一篇博客。
JavaWeb程序连接SQLserver数据库分为一下步骤:
1:在http://www.microsoft.com/en-us/download/details.aspx?id=21599下载sqljdbc.jar的压缩包
2:解压之后,将sqljdbc4.jar复制粘贴到你项目的WEB-INF的lib目录下

3:需要知道一些数据库方面的技术知识:
先举个例子:下面是驱动程序建立连接所需要的步骤:
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=user";
Connection conn = DriverManager.getConnection(URL, userName, userPwd);//userName是你数据库的用户名如sa,
conn.println("连接数据库成功");
conn.close();
}catch (Exception e){
out.println("数据库连接失败");
}
1>:Driver接口:java.sql.Driver是所有JDBC驱动程序需要实现的接口,这个接口提供给不同的数据库厂商,他们使用的接口名不同。
-:SQLserver的JDBC驱动的类名:"com.microsoft.sqlserver.jdbc.SQLServerDriver"
-:Oracle的JDBC驱动的类名:"oracle.jdbc.driver.OracleDriver"
-:MySQL的JDBC驱动的类名:"com.mysql.jdbc.Driver"
2>加载与注册JDBC驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");该语句用于加载
3>JDBC连接数据库的URL表现形式通常分为三个部分(通常用:分开):
1:协议:在JDBC中唯一允许的协议只能为jdbc.
2:子协议:子协议用于标识一个数据库驱动程序
3:子名称:具体看下面
-:连接SQLserver: "jdbc:sqlserver://localhost:1433;DatabaseName=user"
-:连接Oracle: "jdbc:thin:@localhost:1521:ORCL"
-:连接MySQL: "jdbc:mysql://localhost:3306/databasename"
4>执行SQL语句接口Statement对象,该对象的常用方法:
-:void close() 关闭释放资源
-:ResultSet executeQuery(String sql):执行某条查询语句并返回结果
-:int execulteUpdate(String sql):可以执行insert,undate或者delete语句
4:看下我第一次写的操作数据库的程序:
1>先创建一个Student类
package com.ll;
public class Student {
private String name;
private String time;
private String banji;
public String getBanji() {
return banji;
}
public void setBanji(String banji) {
this.banji = banji;
}
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
2>写dao层与数据库连接的部分,
package dao;
import com.ll.Student;//本行及以下是导入SQL以及所需的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
public class Studentdao
{
public ArrayList queryAllStudents() throws Exception
{//实现对数据库的访问
Connection conn = null;
ArrayList students = new ArrayList();//定义与初始化ArrayList数组,相当于定义数组,但是容量比数组大
StringBuffer str= new StringBuffer();
try {
//获取连接
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=StudentManagement"; //连接服务器和数据库sample
//运行SQL语句
String userName = "sa"; //默认用户名
String userPwd = "zongjin123";
Class.forName(driverName);
conn = DriverManager.getConnection(dbURL, userName, userPwd);
if(conn!=null)
{
System.out.println("Connection Successful!"); //如果连接成功 控制台输出
}
else{ System.out.println("Connection fail!");
return students;
} //密码
String sql = "select * from student";//SQL语句,选择数据表student中的所有数据
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);//定义ResultSet类,用于接收获取的数据
while (rs.next())
{
//实例化VO
Student student=new Student();
student.setName(rs.getString("姓名"));
student.setBanji(rs.getString("班级"));
student.setSex(rs.getString("性别"));
student.setTime(rs.getString("年龄"));
students.add(student);
}
rs.close();
stat.close();
}
catch (Exception e1)
{
e1.printStackTrace();
}
finally
{
try
{//关闭连接
if(conn!=null)
{
conn.close();
conn=null;
}
}
catch(Exception ex)
{
}
return students;
}
}
}
3>创建index.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@page import = "java.util.*" %>
<%@page import = "java.sql.*" %>
<%@page import="com.ll.Student" %>
<%@page import="dao.Studentdao" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
#body {
background-color: #FFD2BD;
}
</style>
<title>JSP Page</title>
</head>
<body id="body">
<h1>学生信息如下所示:</h1><br>
<%
Studentdao studentDao=new Studentdao();
ArrayList students=studentDao.queryAllStudents();
%>
<table border="1" >
<tr >
<td >年龄</td>
<td>姓名</td>
<td>性别</td>
<td>班级</td>
</tr>
<%
for(int i=0;i<students.size();i++)
{
Student student=(Student)students.get(i); %>
<tr>
<td><%=student.getSex() %></td>
<td><%=student.getName() %></td>
<td><%=student.getSex() %></td>
<td><%=student.getBanji() %></td>
</tr>
<%
}
%>
</table>
</body>
</html>
4>前提是你在你的SQLserver数据库上创建了一个表,并且有数据.
5.结果为:

JavaWeb程序连接SQLserver数据库的更多相关文章
- JavaWeb连接SQLServer数据库并完成一个登录界面及其功能设计。
一.JDBC连接SQLserver数据库的步骤: 1.下载SQLserver的JDBC驱动文件——Microsoft JDBC Driver 4.0 for SQL Server 2.例如下载得到的文 ...
- Java连接并操作SQLServer数据库
本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hangh ...
- PowerDesigner从SqlServer数据库中导入实体模型
PowerDesigner从SqlServer数据库中导入实体模型 时间 2013-06-28 10:26:34 CSDN博客 原文 http://blog.csdn.net/sxycxwb/art ...
- 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPRO ...
- JAVA使用JDBC技术操作SqlServer数据库执行存储过程
Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...
- SQLServer数据库监控代码
SQLServer数据库监控代码: creation_time, total_worker_time, last_worker_time, max_worker_time, min_worker_ti ...
- SQLServer数据库转换成MySQL数据库
由于工作需要,系统原先的SQLServer数据库要转换成MYSQL数据库,所以这两天就一直在查阅这方面的资料.最开始,我尝试从SQLServer中导出SQL文件,然后导入到MYSQL数据库中,发现报错 ...
- ASP.net分别连接SQLserver数据库与连接Access数据库精英版
-------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...
- (转)对SQLSERVER数据库事务日志的疑问
本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...
随机推荐
- iOS 配置
1.git的配置 使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码.如果使用SSH,就可以记住用户名,并创建属于自己的密码来保证安全操作,还有神奇的一招可以“不 ...
- Scrapy模拟登录知乎
建立项目 scrapy startproject zhihu_login scrapy genspider zhihu www.zhihu.com 编写spider 知乎的登录页url是http:// ...
- 头文件string.h里的函数
.strcpy 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include &l ...
- Python初学基础
初入坑Python,打算跟着沫凡小哥的学习视频打个基础,此篇文章做一些简单的学习记录,加油加油加油啦 沫凡小哥的学习网站:https://morvanzhou.github.io/tutorial ...
- Vue模板逻辑
前面的话 上一篇介绍了Vue的模板内容,而对于一般的模板引擎来说,除了模板内容,还包括模板逻辑.常用的模板逻辑包括条件和循环.本文将详细介绍Vue模板逻辑 条件渲染 在Vue中,实现条件逻辑依靠条件指 ...
- 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...
- POJ 2479 Maximum sum 解题报告
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40596 Accepted: 12663 Des ...
- Linux用户深度管理
linux系统是多任务.多用户的系统. 用户.用户组的概念 每个文件和进程,都需要对应一个用户和用户组. linux系统是通过UID和GID来是识别用户和组的. 其中用户名等同于人名(人类识别), ...
- 使用Openfire配置安卓客户端聊天服务器
Openfire是一种即时通信服务器,采用开放的XMPP协议,您可以使用各种支持XMPP协议的IM客户端软件登陆服务. Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP( ...
- JavaScript入门之Canvas(一): 2D Context
概念 Canvas 是 HTML5 新增的元素,可用于通过使用JavaScript中的脚本来绘制图形.例如,它可以用于绘制图形,制作照片,创建动画,甚至可以进行实时视频处理或渲染.自HTML5添 ...