更新時(shí)間:2020-10-23 18:09:32 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3875次
SQL Server作為目前最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一,被廣泛應(yīng)用在各種大大小小的程序當(dāng)中。同樣的,JavaWeb作為目前最流行的前端開發(fā)技術(shù)之一,越來越多的JavaWeb程序被開發(fā)出來,這時(shí)候就需要一款性能優(yōu)越的數(shù)據(jù)庫來處理程序中的大量數(shù)據(jù)。于是,JavaWeb程序和SQLServer這對搭檔便應(yīng)運(yùn)而生了。本文我們就來看看如何將JavaWeb程序連接SQLServer數(shù)據(jù)庫,這也是部分初學(xué)者開發(fā)JavaWeb程序的困擾。
下面為大家介紹將JavaWeb程序連接到SQLServer的具體步驟:
一、下載安裝配置SQLServer
1.在SQL官網(wǎng)上下載sqljdbc.jar的壓縮包
2.解壓之后,將sqljdbc4.jar復(fù)制粘貼到你項(xiàng)目的WEB-INF的lib目錄下
3.需要知道一些數(shù)據(jù)庫方面的技術(shù)知識:
二、下面是驅(qū)動(dòng)程序建立連接所需要的步驟:
1.Driver接口:java.sql.Driver是所有JDBC驅(qū)動(dòng)程序需要實(shí)現(xiàn)的接口,這個(gè)接口提供給不同的數(shù)據(jù)庫廠商,他們使用的接口名不同。
-:SQLserver的JDBC驅(qū)動(dòng)的類名:"com.microsoft.sqlserver.jdbc.SQLServerDriver"
-:Oracle的JDBC驅(qū)動(dòng)的類名:"oracle.jdbc.driver.OracleDriver"
-:MySQL的JDBC驅(qū)動(dòng)的類名:"com.mysql.jdbc.Driver"
2.加載與注冊JDBC驅(qū)動(dòng)
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");該語句用于加載
3.JDBC連接數(shù)據(jù)庫的URL表現(xiàn)形式通常分為三個(gè)部分(通常用:分開):
1)協(xié)議:在JDBC中唯一允許的協(xié)議只能為jdbc.
2)子協(xié)議:子協(xié)議用于標(biāo)識一個(gè)數(shù)據(jù)庫驅(qū)動(dòng)程序
3)子名稱:具體看下面
-:連接SQLserver: "jdbc:sqlserver://localhost:1433;DatabaseName=user"
-:連接Oracle: "jdbc:thin:@localhost:1521:ORCL"
-:連接MySQL: "jdbc:mysql://localhost:3306/databasename"
4.執(zhí)行SQL語句接口Statement對象,該對象的常用方法:
-:void close() 關(guān)閉釋放資源
-:ResultSet executeQuery(String sql):執(zhí)行某條查詢語句并返回結(jié)果
-:int execulteUpdate(String sql):可以執(zhí)行insert,undate或者delete語句
三、JavaWeb程序連接數(shù)據(jù)庫代碼:
1.先創(chuàng)建一個(gè)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層與數(shù)據(jù)庫連接的部分,
package dao;
import com.ll.Student;//本行及以下是導(dǎo)入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
{//實(shí)現(xiàn)對數(shù)據(jù)庫的訪問
Connection conn = null;
ArrayList students = new ArrayList();//定義與初始化ArrayList數(shù)組,相當(dāng)于定義數(shù)組,但是容量比數(shù)組大
StringBuffer str= new StringBuffer();
try {
//獲取連接
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅(qū)動(dòng)
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=StudentManagement"; //連接服務(wù)器和數(shù)據(jù)庫sample
//運(yùn)行SQL語句
String userName = "sa"; //默認(rèn)用戶名
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語句,選擇數(shù)據(jù)表student中的所有數(shù)據(jù)
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);//定義ResultSet類,用于接收獲取的數(shù)據(jù)
while (rs.next())
{
//實(shí)例化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
{//關(guān)閉連接
if(conn!=null)
{
conn.close();
conn=null;
}
}
catch(Exception ex)
{
}
return students;
}
}
}
3.創(chuàng)建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">
4.在你的SQLserver數(shù)據(jù)庫上創(chuàng)建了一個(gè)表,并且錄入有數(shù)據(jù),然后就會(huì)得出一張帶有后臺數(shù)據(jù)的表,沒有數(shù)據(jù)上的出入則說明JavaWeb程序連接SQLServer數(shù)據(jù)庫成功。
看完了本文,相信小伙伴們對于JavaWeb程序連接SQLServer數(shù)據(jù)庫有了一定的了解,在此基礎(chǔ)之上,一些程序連接數(shù)據(jù)庫的操作都是大同小異的,至于具體上的區(qū)分小伙伴們可以觀看本站的java零基礎(chǔ)教程,里面有大量的實(shí)例講解,加深你的理解。
初級 202925
初級 203221
初級 202629
初級 203743