Statement: I have always thought that connecting a javaweb program to a database is a very difficult problem. As a result, I studied it today and solved it in less than two hours. So to summarize blog.
The JavaWeb program connects to the SQLserver database in the following steps:
1: at http://www.microsoft.com/en-us /download/details.aspx?id=21599Download the compressed package of sqljdbc.jar
#2: After decompression, copy and paste sqljdbc4.jar into your project In the lib directory of WEB-INF
##3: You need to know some technical knowledge about databases:
First, give an example: The following are the steps required for the driver to establish a connection: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 interface: java.sql.Driver is required by all JDBC drivers Implemented interface, this interface is provided to different database vendors, and they use different interface names.
-:Class name of SQLserver's JDBC driver: "com.microsoft.sqlserver.jdbc.SQLServerDriver" -:Class name of Oracle's JDBC driver: "oracle.jdbc .driver.OracleDriver" -:MySQL JDBC driver class name: "com.mysql.jdbc.Driver"2>Loading and registering the JDBC driver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");This statement is used to load3>The URL representation of JDBC connection database is usually divided into three forms Part (usually: separated):
1: Protocol: The only allowed protocol in JDBC can only be jdbc. 2: Sub-protocol: Sub-protocol is used to identify a Database driver 3: Subname: See below for details -:Connect to SQLserver: "jdbc:sqlserver://localhost:1433;DatabaseName=user" - :Connect to Oracle: "jdbc:thin:@localhost:1521:ORCL" -:Connect to MySQL: "jdbc:mysql://localhost:3306/databasename"4> ; Execute SQL statement interface Statement object, common methods of this object:
-:void close() Close and release resources -:ResultSet executeQuery(String sql): Execute a certain item Query statements and return results -:int execulteUpdate(String sql): You can execute insert, undate or delete statements4: Take a look at what I wrote for the first time Program to operate the database:
## 1> First create a Student classpackage 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;
}
}
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;
}
}
}
<%@ 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>
5. The result is:
The above is the detailed content of javaweb link database tutorial. For more information, please follow other related articles on the PHP Chinese website!