当前位置:首页 » 存储配置 » 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里面提供了
*/

热点内容
访问宁静 发布:2024-09-22 21:31:09 浏览:246
使用命令窗口编译java 发布:2024-09-22 21:25:23 浏览:163
md5加密函数 发布:2024-09-22 21:02:32 浏览:702
成都php工资 发布:2024-09-22 20:55:16 浏览:438
sql表删除恢复 发布:2024-09-22 20:50:12 浏览:443
python字符串查找中文 发布:2024-09-22 20:50:12 浏览:596
算法有多少种 发布:2024-09-22 20:48:44 浏览:332
艾薇多多安卓版怎么样 发布:2024-09-22 20:48:02 浏览:801
linux工程师证书 发布:2024-09-22 20:07:37 浏览:413
如何快速调整安卓手机桌面 发布:2024-09-22 20:06:26 浏览:684