當前位置:首頁 » 存儲配置 » ssm中資料庫的url怎麼配置

ssm中資料庫的url怎麼配置

發布時間: 2022-05-08 09:34:17

A. ssm框架訪問控制應該怎麼做

這個就在在人員表了添加一個身份的欄位 user_rank ,用這個來控制。用戶登錄到時候就會用登錄信息,把這個 user_rank 欄位帶出來,在頁面或者鏈接時候加上判斷,哈這是簡單的,看下官方的。

shiro安全框架是目前為止作為登錄注冊最常用的框架,因為它十分的強大簡單,提供了認證、授權、加密和會話管理等功能 。

shiro能做什麼?

認證:驗證用戶的身份

授權:對用戶執行訪問控制:判斷用戶是否被允許做某事

會話管理:在任何環境下使用 Session API,即使沒有 Web 或EJB 容器。

加密:以更簡潔易用的方式使用加密功能,保護或隱藏數據防止被偷窺

Realms:聚集一個或多個用戶安全數據的數據源

單點登錄(SSO)功能。

為沒有關聯到登錄的用戶啟用 "Remember Me「 服務

Shiro 的四大核心部分

Authentication(身份驗證):簡稱為「登錄」,即證明用戶是誰。

Authorization(授權):訪問控制的過程,即決定是否有許可權去訪問受保護的資源。

Session Management(會話管理):管理用戶特定的會話,即使在非 Web 或 EJB 應用程序。

Cryptography(加密):通過使用加密演算法保持數據安全

shiro的三個核心組件:

Subject:正與系統進行交互的人,或某一個第三方服務。所有 Subject 實例都被綁定到(且這是必須的)一個SecurityManager 上。

SecurityManager:Shiro 架構的心臟,用來協調內部各安全組件,管理內部組件實例,並通過它來提供安全管理的各種服務。當 Shiro 與一個 Subject 進行交互時,實質上是幕後的 SecurityManager 處理所有繁重的 Subject 安全操作。

Realms:本質上是一個特定安全的 DAO。當配置 Shiro 時,必須指定至少一個 Realm 用來進行身份驗證和/或授權。Shiro 提供了多種可用的 Realms 來獲取安全相關的數據。如關系資料庫(JDBC),INI 及屬性文件等。可以定義自己 Realm 實現來代表自定義的數據源。

shiro整合SSM框架:

1.加入 jar 包:以下jar包自行網路下載

准備好了,接下來要寫Realm方法了,新建shiro包,在包下新建MyRealm.java文件繼承AuthorizingRealm

package shiro;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.AuthenticationInfo;import org.apache.shiro.authc.AuthenticationToken;import org.apache.shiro.authc.SimpleAuthenticationInfo;import org.apache.shiro.authc.credential.HashedCredentialsMatcher;import org.apache.shiro.authz.AuthorizationInfo;import org.apache.shiro.authz.SimpleAuthorizationInfo;import org.apache.shiro.crypto.hash.Md5Hash;import org.apache.shiro.crypto.hash.SimpleHash;import org.apache.shiro.realm.AuthorizingRealm;import org.apache.shiro.subject.PrincipalCollection;import org.apache.shiro.util.ByteSource;import org.springframework.beans.factory.annotation.Autowired;import bean.user;import .user;public class MyRealm extends AuthorizingRealm {
@Autowired private user user;
String pass; /**
* 授權:
*
*/
@Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
Object principal = principalCollection.getPrimaryPrincipal();//獲取登錄的用戶名
if("admin".equals(principal)){ //兩個if根據判斷賦予登錄用戶許可權
info.addRole("admin");
} if("user".equals(principal)){
info.addRole("list");
}

info.addRole("user");
return info;
} /*
* 用戶驗證
*
*/
@Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
//1. token 中獲取登錄的 username! 注意不需要獲取password.
Object principal = token.getPrincipal();
//2. 利用 username 查詢資料庫得到用戶的信息.
user user=user.findbyname((String) principal); if(user!=null){
pass=user.getPass();
}
String credentials = pass; //3.設置鹽值 ,(加密的調料,讓加密出來的東西更具安全性,一般是通過資料庫查詢出來的。 簡單的說,就是把密碼根據特定的東西而進行動態加密,如果別人不知道你的鹽值,就解不出你的密碼)
String source = "abcdefg";
ByteSource credentialsSalt = new Md5Hash(source);

//當前 Realm 的name
String realmName = getName(); //返回值實例化
SimpleAuthenticationInfo info =
new SimpleAuthenticationInfo(principal, credentials,
credentialsSalt, realmName);
return info;
} //init-method 配置.
public void setCredentialMatcher(){
HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher();
credentialsMatcher.setHashAlgorithmName("MD5");//MD5演算法加密
credentialsMatcher.setHashIterations(1024);//1024次循環加密
setCredentialsMatcher(credentialsMatcher);
}

//用來測試的算出密碼password鹽值加密後的結果,下面方法用於新增用戶添加到資料庫操作的,我這里就直接用main獲得,直接資料庫添加了,省時間
public static void main(String[] args) {
String saltSource = "abcdef";
String hashAlgorithmName = "MD5";
String credentials = "passwor";
Object salt = new Md5Hash(saltSource); int hashIterations = 1024;
Object result = new SimpleHash(hashAlgorithmName, credentials, salt, hashIterations);
System.out.println(result);
}

}

好了,接下來我們寫一個簡單的action來通過shiro登錄驗證。

//登錄認證
@RequestMapping("/shiro-login") public String login(@RequestParam("username") String username,
@RequestParam("password") String password){
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try { //執行認證操作. subject.login(token);
}catch (AuthenticationException ae) {
System.out.println("登陸失敗: " + ae.getMessage()); return "/index";
}
return "/shiro-success";
}

//溫馨提示:記得在注冊中密碼存入資料庫前也記得加密哦,提供一個utils方法//進行shiro加密,返回加密後的結果public static String md5(String pass){
String saltSource = "blog";
String hashAlgorithmName = "MD5";
Object salt = new Md5Hash(saltSource);int hashIterations = 1024;
Object result = new SimpleHash(hashAlgorithmName, pass, salt, hashIterations);
String password = result.toString();return password;
}

好了,shiro登錄驗證到這里完了

B. ssm框架中怎麼配置資料庫連接池

Druid配置
1.下載jar包:http://repo1.maven.org/maven2/com/alibaba/druid/
2.編寫資料庫連接的資源文件:dbconfig.properties
url:jdbc:mysql://localhost:3306/flm?useUnicode=true&characterEncoding=utf8
driverClassName:com.mysql.jdbc.Driver
username:root
password:root

#------------------------------------------------------------------------------------------
#配置擴展插件 監控統計用filters:stat 日誌用filters:log4j 防禦sql注入用filters:wall
filters:stat

#最大連接池數量 初始化建立物理連接的個數 獲取連接時最長的等待時間 最小連接池數量 maxIdle已經棄用
maxActive:20
initialSize:1
maxWait:60000
minIdle:10
maxIdle:15

#有兩個含義 1.Destroy 線程會檢測連接的時間 2.testWhileIdle的判斷依據
timeBetweenEvictionRunsMillis:60000

#Destory線程中如果檢測到當前連接的最後活躍時間和當前時間的差值大於minEvictableIdleTimeMillis,則關閉當前連接
minEvictableIdleTimeMillis:300000

#用來檢測連接是否的sql,要求是一個查詢語句。在mysql中通常設置為SELECT 'X'
validationQuery:SELECT 'x'

#申請連接的時候檢測,如果空閑時間大於timeBetweenEvictionRunsMillis,執行validationQuery連接是否有效
testWhileIdle:true

#申請連接時執行validationQuery檢測連接是否有效 這個配置會降低性能
testOnBorrow:false

#歸還連接時執行validationQuery檢測連接是否有效 這個配置會降低性能
testOnReturn:false

#要啟用PSCache,必須配置大於0,當大於0時,poolPreparedStatements自動觸發修改為true
maxOpenPreparedStatements:20

#對於建立連接超過removeAbandonedTimeout的連接強制關閉
removeAbandoned:true

#指定連接建立多長就被強制關閉
removeAbandonedTimeout:1800

#指定發生removeabandoned時,是否記錄當前線程的堆棧信息到日誌中
logAbandoned:true
04142434445460414243444546

3.在Spring配置文件ApplicationContext.xml中載入資源文件進來
<!--PropertyPlaceholderConfigurer是個bean工廠後置處理器的實現,也就是 BeanFactoryPostProcessor介面的一個實現。PropertyPlaceholderConfigurer可以將上下文(配置文 件)中的屬性值放在另一個單獨的標准java Properties文件中去。-->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/classes/dbconfig.properties</value> <!--dbconfig.properties 資料庫連接信息-->
</list>
</property>
</bean> 1234567812345678

4.在Spring配置文件ApplicationContext.xml中配置阿里數據連接池Druid

<!-- 阿里 druid資料庫連接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<!-- 資料庫基本信息配置 -->
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="driverClassName" value="${driverClassName}" />
<property name="filters" value="${filters}" />
<!-- 最大並發連接數 -->
<property name="maxActive" value="${maxActive}" />
<!-- 初始化連接數量 -->
<property name="initialSize" value="${initialSize}" />
<!-- 配置獲取連接等待超時的時間 -->
<property name="maxWait" value="${maxWait}" />
<!-- 最小空閑連接數 -->
<property name="minIdle" value="${minIdle}" />
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${validationQuery}" />
<property name="testWhileIdle" value="${testWhileIdle}" />
<property name="testOnBorrow" value="${testOnBorrow}" />
<property name="testOnReturn" value="${testOnReturn}" />
<property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" />
<!-- 打開removeAbandoned功能 -->
<property name="removeAbandoned" value="${removeAbandoned}" />
<!-- 1800秒,也就是30分鍾 -->
<property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />
<!-- 關閉abanded連接時輸出錯誤日誌 -->
<property name="logAbandoned" value="${logAbandoned}" />
</bean>

C. java-SSM框架怎麼配置啊

SSM現在是比較常用的框架有ssm,既是SpringMVC、Spring及MyBatis
1、確定需要集成版本,以mybatis-3.2.1、spring-framework-3.2.0.RELEASE為例
2、Spring3.2先和MyBatis3.2集成
3、創建web動態工程:注意classpath路徑
4、添加Spring3.2+MyBatis3.2 mysql驅動共計30個jar文件

18個spring相關的jar文件
MyBatis3.2 版本共9個jar文件
包含mysql驅動共28個jar文件
jstl 2個jar 文件共計30個jar文件
jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///ssm
jdbc.username=root
jdbc.password=admin
log4j.properties
5、寫配置文件的流程:
資料庫連接配置文件->DataSource->SqlSessionFactory->Mapper->Service->Controller
spring配置文件
UserMapper
也可以在介面裡面定義主鍵的MyBatis映射
UserMapper.xml
UserServiceImpl
Spring3.2+SpringMVC3.2
spring配置文件
web.xml
UserController
webapp/WEB-INF/views/user.jsp
至此,集成完成,在此基礎上可再添加其他功能。每步都要截圖太麻煩了我就不上圖了。

D. spring中配置MySql數據源,怎樣配置資料庫信息

sping中配置mysql數據源
驅動:jdbc.driverClassName
URL:jdbc.url
用戶名:jdbc.username
密碼:jdbc.password
可以定義在perperties文件中,也可以直接用值替換掉

<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!--數據源-->
<!--&lt;!&ndash;c3p0&ndash;&gt;-->
<!--<beanid="c3p0DataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource">-->
<!--<propertyname="driverClass"value="${jdbc.driverClassName}"/>-->
<!--<propertyname="jdbcUrl"value="${jdbc.url}"/>-->
<!--<propertyname="user"value="${jdbc.username}"/>-->
<!--<propertyname="password"value="${jdbc.password}"/>-->
<!--</bean>-->
<!--druid-->
<beanid="druidDataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">
<!--基本屬性url、user、password-->
<propertyname="driverClassName"value="${jdbc.driverClassName}"/>
<propertyname="url"value="${jdbc.url}"/>
<propertyname="username"value="${jdbc.username}"/>
<propertyname="password"value="${jdbc.password}"/>

<!--配置初始化大小、最小、最大-->
<propertyname="initialSize"value="1"/>
<propertyname="minIdle"value="1"/>
<propertyname="maxActive"value="20"/>

<!--配置獲取連接等待超時的時間-->
<propertyname="maxWait"value="60000"/>

<!--配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒-->
<propertyname="timeBetweenEvictionRunsMillis"value="60000"/>

<!--配置一個連接在池中最小生存的時間,單位是毫秒-->
<propertyname="minEvictableIdleTimeMillis"value="300000"/>

<propertyname="validationQuery"value="SELECT'x'"/>
<propertyname="testWhileIdle"value="true"/>
<propertyname="testOnBorrow"value="false"/>
<propertyname="testOnReturn"value="false"/>

<!--打開PSCache,並且指定每個連接上PSCache的大小-->
<propertyname="poolPreparedStatements"value="false"/>
<propertyname=""value="20"/>

<!--配置監控統計攔截的filters-->
<propertyname="filters"value="stat"/>
</bean>
</beans>

E. 如何在配置文件里添加資料庫鏈接

直接在spring的配置文件中applicationContext.xml文件中配置資料庫連接也可以,但是有個問題,需要在url後帶著使用編碼集和指定編碼集,出現了如下問題,&這個符號報錯。

既然這樣只能使用外部配置文件設置一些參數,在spring的配置文件applicationContext.xml中獲取,然後配置連接資料庫。

使用properties配置文件連接資料庫,在src下新建jdbc.properties文件,按照自己的資料庫名,用戶名密碼更改下面的配置。

在spring的配置文件applicatiContext.xml中加入(這里是引入配置文件),更改之前的資料庫配置,名稱和配置文件中的對應上即可。

F. ssm框架畢業答辯常見問題有哪些, 例如ssm如何實現資料庫的連接

一、Spring常見問題

1、Spring 在ssm中起什麼作用?

  • Spring:輕量級框架

  • 作用:Bean工廠,用來管理Bean的生命周期和框架集成。

  • 兩大核心:

  • IOC/DI(控制反轉/依賴注入) :把依賴注入到service層,service層反轉給action層,Spring頂層容器為BeanFactory

  • AOP:面向切面編程

  • 2、Spring的事務?

  • 編程式事務管理:編程方式管理事務,極大靈活性,難維護。

  • 聲明式事務管理:可以將業務代碼和事務管理分離,用註解和xml配置來管理事務。

  • 3、IOC 在項目中的作用?

    作用:Ioc解決對象之間的依賴問題,把所有Bean的依賴關系通過配置文件或註解關聯起來,降低了耦合度。

    4、Spring的配置文件中的內容?

  • 開啟事務註解驅動

  • 事務管理器

  • 開啟註解功能,並配置掃描包

  • 配置資料庫

  • 配置SQL會話工廠,別名,映射文件

  • 不用編寫Dao層的實現類

  • 5、Spring下的註解?

  • 注冊

  • @Controller @Service @Component

  • 注入

  • @Autowired @Resource

  • 請求地址

  • @RequestMapping

  • 返回具體數據類型而非跳轉

  • @ResponseBody

  • 6、Spring DI 的三種方式?

  • 構造器注入:通過構造方法初始化

  • <constructor-arg index="0" type="java.lang.String" value="寶馬"></constructor-arg>

  • setter方法注入:通過setter方法初始化

  • <property name="id" value="1111"></property>

  • 介面注入

  • 7、Spring主要使用了什麼模式?

  • 工廠模式:每個Bean的創建通過方法

  • 單例模式:默認的每個Bean的作用域都是單例

  • 代理模式:關於Aop的實現通過代理模式

  • 8、IOC,AOP的實現原理?

  • IOC:通過反射機制生成對象注入

  • AOP:動態代理

  • 二、SpringMvc常見問題

    1、SpringMvc 的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?

  • 問題:單例模式,在多線程訪問時有線程安全問題

  • 解決方法:不要用同步,在控制器裡面不能寫欄位

  • 2、SpringMvc 中控制器的註解?

  • @Controller:該註解表明該類扮演控制器的角色

  • 3、@RequestMapping 註解用在類上的作用?

  • 作用:用來映射一個URL到一個類或者一個特定的處理方法上

  • 4、前台多個參數,這些參數都是一個對象,快速得到對象?

  • 方法:直接在方法中聲明這個對象,SpringMvc就自動把屬性賦值到這個對象裡面

  • 5、SpringMvc中函數的返回值?

    String,ModelAndView,List,Set 等

    一般String,Ajax請求,返回一個List集合

    6、SpringMvc中的轉發和重定向?

  • 轉發: return:"hello"

  • 重定向 :return:"redirect:hello.jsp"

  • 7、SpringMvc和Ajax之間的相互調用?

    通過JackSon框架把java裡面對象直接轉換成js可識別的json對象,具體步驟如下:

    1、加入JackSon.jar

    2、在配置文件中配置json的映射

    3、在接受Ajax方法裡面直接返回Object,list等,方法前面需要加上註解@ResponseBody

    8、SpringMvc的工作流程圖?

    原理:

  • 通過SqlSessionFactoryBuilder從mybatis-config.xml配置文件中構建出SqlSessionFactory。

  • SqlSessionFactory開啟一個SqlSession,通過SqlSession實例獲得Mapper對象並且運行Mapper映射的Sql語句。

  • 完成資料庫的CRUD操作和事務提交,關閉SqlSession。

G. 連接access資料庫時的url要怎麼寫

下面我們給出一個連接到Access資料庫的實例,此例中用到的資料庫為Access 2003。首先在e盤建立一個名為vb的文件夾,然後打開Access 2003,單擊「文件」→「新建」,在右側出現的任務窗格中單擊「空資料庫」,在出現的對話框中,我們在"文件名"項後輸入給新資料庫起的名稱並選擇保存位置,這里我們為新資料庫命名為Access_db並保存到我們剛才建立的文件夾中,如下圖,單擊"創建"按鈕後,系統就生成了一個新的Access空資料庫。

在空資料庫中,還沒有任何用戶所創建的表,接下來我們就要使用設計器(如下圖)為Access_db資料庫建立表。

首先我們為Access_db創建一個名為「wzdz」的表,該表由以下4個欄位組成:

(1)編號:此為Access自動添加的主鍵欄位,我們直接拿來使用。我們可直接設置後三個欄位,在輸入完了wzdz表的各個欄位之後,此時關閉表設計器,Access會提示是否要進行保存表,選擇「是」,然後為表起名為「wzdz」。因為沒有定義主鍵(primary Key),Access會提示為表加上一個主鍵,按提示將編號設置為主鍵即可。

(2)後三個欄位分別為網站名稱、網站地址和網站描述,三個欄位的屬性是相同的,如下:

▲數據類型:文本。

▲欄位大小:50

▲有效性規則:無。

▲必填欄位:否

▲允許空字元串:否

▲索引:無

設置完以上欄位後,再重新在設計視圖中打開wzdz表(方法:在設計器中右擊wzdz表名,選「設計視圖」命令),應如下圖所示:

有了資料庫和表之後,如果想讓VB應用程序訪問資料庫,還需進行數據源的配置。只有在配置完成了數據源之後,才能讓VB應用程序同資料庫進行正確的連接工作,在VB應用程序中才可以通過ADO對象來進行具體數據的操作,如果在建立了資料庫之後沒有對數據源進行配置或者對數據源的配置工作出現錯誤,則在此之前所做的一切工作都是白費的。

我們按上一章所述的步驟進行ODBC數據源的配置,建立一個名為Access_db的用戶DSN,接下來我們使用VB去具體地連接到Access_db資料庫。

首先打開VB,新建一個標准exe工程,在工程的form1中我們輸入如下的代碼:

Private Sub Form_Load()

Dim cnn As ADODB.Connection
Dim my_recordset As ADODB.Recordset
Dim connect_string As String
Dim statestring As String
Set cnn=New ADODB.Connection
Set my_recordset=New ADODB.Recordset
'連接Access資料庫
connect_string="DSN=Access_db;UID=;PSW="
cnn.Open connect_string
Select Case cnn.State
Case adStateClose
statestring="adStateClosed"
Case adStateOpen
statestring="adStateOpen"
End Select
'顯示連接的狀態
MsgBox "連接成功!",,statestring
'對wzdz表進行查詢操作
my_recordset.Open "Select * from wzdz",cnn
my_recordset.Close

End Sub本段連接資料庫的代碼是寫在窗體的Form_Load()子過程中的,對資料庫的連接工作是在程序一開始即窗體的載入過程中進行的。在 Form_Load()中,首先定義了一個Connection對象cnn和一個RecordSet對象my_recordset,以及兩個字元串類型的變數connect_string和statestring,接下來的兩個Set語句是為了生成一個Connection對象cnn和一個 RecordSet對象my_recordset。然後是連接Access資料庫,先把連接字元串「DSN=Access_db;UID=;PSW="賦給字元串變數connect_string。連接字元串中的具體各項內容是根據ODBC數據源的配置而定的,不同的配置方式和配置內容就會有不同的連接字元串。cnn的Open事件用來執行與資料庫的連接工作。為了驗證與資料庫的連接是否正確,這里我們讀取了cnn的State屬性。State屬性可用用來說明其對象狀態是打開或關閉的。在使用了State屬性後,通過系統函數MsgBox把與資料庫的連接狀態顯示給用戶。如果連接狀態是打開的,對話框標題欄的文字是「adStateOpen",如下圖:

如果連接狀態是關閉,則對話框標題欄顯示「adStateClose」。

其後的語句my_recordset.Open "Select * from wzdz ",cnn則示範了如何從資料庫中查詢所需要的數據。

注意:在程序中每當用一個Set語句來生成一個Connection或RecordSet對象時,最後使用完畢之後應操作使用Close方法對其進行關閉操作。

常式調試中可能出現的問題:

上述代碼運行時可能會顯示"用戶定義類型未定義",錯誤定位在「Dim cnn As ADODB.Connection」這一句上。

解決方法:單擊「工程」→「引用」,勾選「Microsoft ActiveX Data Object 2.6」,再運行程序即無此問題。

www.bianceng.cn/Programming/vb/200812/11121.htm

只有創建了ADO對象,我們才能夠訪問資料庫.常用的對象有兩個,Connection和Recordset.
創建這兩個對象的具體方法是:
1.在引用後,使用New關鍵字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在沒引用時,用CreateObject創建對象:
Dim Conn,Reco
Set Conn = CreateObject("ADODB.Connection")
Set Reco = CreateObject("ADODB.Recordset")
創建了對象之後,下一步我們要做的就是打開資料庫了.
先看下面的代碼,可以成功的打開資料庫.
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"
這句代碼打開了D盤中的Main.mdb這個資料庫.
Connection.Open方法的第一個參數是連接代碼,它將傳遞給系統的資料庫引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了資料庫的類型.不同的資料庫可能會不同.後半句"Source=d:\main.mdb"它表示了資料庫所在的絕對路徑.
打開資料庫之後,還要打開表.假如資料庫中有一個表,表名為"Users",欄位有兩個,一個為用戶名,一個為密碼.那麼看以下代碼.
1.想返回"Users"中,[用戶名]為"去年煙花"的[密碼]
Recordset.open "Select 密碼 From Users Where 用戶名='去年煙花'",Connection,1,1

之後我們就可以把用戶輸入的密碼進行比較,看是否允許登錄.
If Recordset.eof and Recordset.bof then
Msgbox "用戶不存在!",16
Else
If PassWord =Recordset("密碼").value then
msgbox "登錄成功!",64
Else
msgbox "密碼錯誤!",32
End If
End If
Recordset.Close
2.假設Admin已經成功登錄系統,我們想把所有的用戶名和密碼都顯示出來
Recordset.open "Select * From Users",Connection,1,1
這時,表已經被打開,我們就用以下代碼把它顯示出來.
Do whlie Not Recordset.eof
Print "用戶名: " & Recordset("用戶名").value & "密碼: " & Recordset("密碼").value
Recordset.MoveNext
Loop
Recordset.Close
由以上代碼示例可以看出,打開表時,可以只打開其中的一個欄位,也可以打開所有.第一個參數是SQL語句.
Select [欄位名] From 表名 [Where 條件]
這里的條件可以省略.且欄位名也可以用"*"來代替所有欄位.
需要注意的是,如果你用(1)中的方法打開,那麼(2)後面顯示的代碼就不能再用在(1)中.因為(1)里並沒有打開[用戶名]欄位,所以這一句Recordset("密碼")就沒有值存在,還有可能出錯.
後面的條件,可以用"="、">"、"<"等運算符.比如 "Where ID > 32".(這里假設[ID]為數字型.)

這是打開的部分.第二個很重要的部分就是查詢記錄.
資料庫它並不是把所有記錄全部放到一個變數中備用的.而是以"當前記錄"的形式來返回一個值.所以我們想從中找到有用的信息,就必須要對信息進行定位/篩選.
定位:
移動到下一條 Recordset.MoveNext
移動到上一條 Recordset.MovePrevious
移動到最後一條 Recordset.MoveLast
移動到第一條 Recordset.MoveFrist
移動到某一條 Recordset.Move Number
篩選:
Recordset.Find "條件"
如:[用方法(2)打開表之後]
Private Sub Command1_Click()
Recordset.Find "用戶名=" & "text1.text"
If Recordset.Eof <> True Then
Msgbox "該用戶的密碼是:" & Recordset("密碼").value,64
Else
Msgbox "未找到該用戶的資料!",16
End If
End Sub
MoveNext 只有當Eof不為True時,才可用,否則發生錯誤.而MovePrevious剛是Bof不為True時....
而只要Eof 和 Bof中有一個不為真時,也就是說只要有一條記錄時,它就可以使用.

Find 方法中的條件和Open時的第一個參數中的條件表述方法是完全一致的.當在已打開的記錄集中,找不到該記錄時,Eof為True.找到則當前的值就是符合條件的記錄.

第三個部分就是添加/修改記錄.
修改記錄很簡單,先按以上的方法找到相關記錄之後,給記錄賦值就可以了.
比如:[(修改密碼)按方法(1)打開表之後]
Recordset("密碼").value = "123456"
Recordset.Updata
需要注意的就是,在修改完成後,要調用Updata方法,這樣修改才能生效.
而添加記錄則可以用以下代碼來實現:
Recordset.addnew
Recordset("用戶名").value = "Admin"
Recordset("密碼").value = "Admin"
Recordset.Updata
這里,先要調用Addnew方法,增加一條新記錄,然後對這個新記錄中的各欄位賦值,最後再調用Updata方法.
到這里就差不多了,最後說一下上面提到的幾個方法.
Recordset.Open SQL語句,數據源,游標類型,打開方法
SQL語句不用說了,就是Select那啥的,目的就是按要求從表中返回數據
數據源就是一個打開之後的Connection對象.
去他媽的游標類型,填1就可以了 [偷笑ing]
打開方法對應了幾個常數,具體哪幾個可以從對象瀏覽器里看.
對應數值的意義:
1 只讀 2 獨占 3 可寫 4 自已可寫,別人可讀
Connection.open 連接代碼,伺服器用戶名,密碼
這里的連接代碼就不在多說了,伺服器用戶名,密碼只有在連接遠程資料庫時才用到.

H. eclipse使用ssm的applicationcontext怎麼配置

一般用SSH時個人習慣把資料庫的驅動等相關信息寫在配置文件中,這樣的話程序靈活行更大些(比如有時候需要切換資料庫,從oracle到sql時,我們就只用修改spring讀取的配置文件就可以了),廢話不多說上代碼:
jdbc.oracle.properties:
jdbc.driverClassName = oracle.jdbc.driver.OracleDriver
jdbc.url = jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username = SCOTT
jdbc.password = root
maxActive = 1000
maxIdle = 50
minIdle = 5
maxWait = 3000
initialSize = 20

I. java鏈接mysql資料庫url怎麼寫

連接代碼如下:
public static void main(String[] args){

// 驅動程序名
String driver = "com.mysql.jdbc.Driver";

// URL指向要訪問的資料庫名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";

// MySQL配置時的用戶名
String user = "root";

// MySQL配置時的密碼
String password = "root";

try {
// 載入驅動程序
Class.forName(driver);

// 連續資料庫
Connection conn = DriverManager.getConnection(url, user, password);

if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");

// statement用來執行SQL語句
Statement statement = conn.createStatement();

// 要執行的SQL語句
String sql = "select * from student";

// 結果集
ResultSet rs = statement.executeQuery(sql);

System.out.println("-----------------");
System.out.println("執行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + "\t" + " 姓名");
System.out.println("-----------------");

String name = null;

while(rs.next()) {

// 選擇sname這列數據
name = rs.getString("sname");

// 首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
// 然後使用GB2312字元集解碼指定的位元組數組
name = new String(name.getBytes("ISO-8859-1"),"GB2312");

// 輸出結果
System.out.println(rs.getString("sno") + "\t" + name);
}

rs.close();
conn.close();

} catch(ClassNotFoundException e) {

System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();

} catch(SQLException e) {

e.printStackTrace();

} catch(Exception e) {

e.printStackTrace();

}

J. ssm框架怎麼連接mongodb資料庫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

$(function(){
$.ajax({
url : 請求的路徑(action),
type : "post", //以Post方式發送請求
data : 請求時發送的數據,
dataType : json, //返回的數據類型
async : true, //本次請求是否為非同步請求
success : function(返回的數據變數){
//請求成功,執行的操作
},
error : function(){
//請求失敗,執行的操作
}
});
});

/*
1、action和你普通請求配置一樣
2、請求到後台後,該怎麼處理也和普通請求一樣,,mapper什麼的都一樣
3、你返回的數據使用JSONObject類來包裝,最後返回的時候把這個對象toString(),依賴的jar包在struts裡面提供了
*/

熱點內容
c語言longlongprintf 發布:2024-09-22 19:16:48 瀏覽:11
oracleraclinux 發布:2024-09-22 19:03:54 瀏覽:50
我的世界伺服器v指令是什麼 發布:2024-09-22 19:03:52 瀏覽:430
UE編譯器網盤下載 發布:2024-09-22 19:01:48 瀏覽:826
linux下遠程 發布:2024-09-22 18:56:10 瀏覽:233
python類單例 發布:2024-09-22 18:45:52 瀏覽:278
打游戲要看手機的什麼配置 發布:2024-09-22 18:40:06 瀏覽:974
微信零錢密碼是什麼意思 發布:2024-09-22 18:40:01 瀏覽:941
如何進入華為雲伺服器 發布:2024-09-22 18:39:10 瀏覽:664
2003伺服器搭建php 發布:2024-09-22 18:27:38 瀏覽:441