<sql:setDataSource>
標籤設定資料源組態變數或將資料源資訊儲存在可用作其他JSTL資料庫操作的作用域變數中。也就是建立一個資料庫連線物件。
<sql:setDataSource>
標籤具有以下屬性 -
屬性 | 描述 | 必需 | 預設 |
---|---|---|---|
driver |
要註冊的JDBC驅動程式類的名稱 | 否 | — |
url |
資料庫連線的JDBC的URL | 否 | — |
user |
資料庫使用者名 | 否 | — |
password |
資料庫使用者的密碼 | 否 | — |
dataSource |
資料庫中預先準備 | 否 | — |
var |
用於表示資料庫的變數的名稱 | 否 | 預設設定 |
scope |
表示資料庫變數的範圍 | 否 | page |
考慮以下有關MySQL資料庫設定的資訊 -
testdb
資料庫。root
使用者以及密碼為123456
來存取testdb
資料庫。所有上述引數將根據您的MySQL或任何其他資料庫使用者和密碼設定而有所不同。參考以下範例中的setDataSource
標籤來演示使用上述引數 -
下面是JSP頁面的程式碼。檔案:sql_setDataSource.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<!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">
<title>sql:setDataSource標籤範例</title>
</head>
<body>
<sql:setDataSource var="mytestdb" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/testdb?useSSL=false&characterEncoding=utf8"
user="root" password="123456" />
<sql:query dataSource="${mytestdb}" sql="SELECT * FROM `employees`"
var="result" />
<!-- // 讀取並列印查詢員工資訊 -->
<c:forEach var="row" items="${result.rows}">
<c:out value="${row.id}" /> - <c:out value="${row.name}" /><br/>
</c:forEach>
</body>
</html>
注意:需要將MySQL的連線驅動程式:mysql-connector-java-5.1.40-bin.jar放入到{Webpp}/WEB-INFO/lib目錄下。
執行上述專案程式碼,得到以下結果如下 -