`

数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册

阅读更多

     技术产品无论是网站还是app,对于有一定的受众的产品来说数据库的应用是不可或缺的。没有数据库就好比一群人在图书馆里看书,大家都光着脚,管理员光靠味觉去捕捉脚臭的罪魁祸首估计有如海底捞针。但有了数据库就不一样了,给了每人一双鞋,这时候想知道谁的脚臭就可以对鞋下工夫了。额… 这例子好恶心。总之,只为说明一点,数据库的作用及其架构无比重要。
     根据的前几篇博客所例,这个产品主要实现对用户的管理,用户登录,用户注册以及用户的个人信息的完善。先看数据看的工程架构



     其中的UserInfo包里的表我只是添加了两张:一张Pet表,一张User表。需要注意的是表中的外键,因为外键的值的特殊性,它是由相关联的表的id决定的,所以在声明这个外键时必须用相关表(类)的对象声明引用。
有了架构,接下来是功能的实现。
用户登录
     用户登录的首要条件是用户名、密码不为空,其次是数据库中存在该用户名,并且密码正确。
/** 
	 * 查询用户是否存在,从而判断是否允许登录
	 * @param condition 查询条件 password 对应的密码
	 */
	public boolean queryMember(String condition,String condition_password){
			String username = null;
			String password = null;
		try{
			Connection con = this.getConnection();
			//定义SQL语句
			String sql2 = "select * from user where username = ?";
			//获取预编译SQL执行对象,同时检测数据库中是否已经存在该SQL语句,如果存在,不存入SQL语句,如果不存在则存入SQL语句
			PreparedStatement pstmt = con.prepareStatement(sql2);
			//给每一个?占位符指定数据
			pstmt.setString(1, condition);
			ResultSet rs = pstmt.executeQuery();//执行
			
			System.out.println("id     username    password    mail");
			while(rs.next()){//检测是否还有下一条记录
				int id = rs.getInt("id");
				username = rs.getString("username");
				password = rs.getString("password");
				String mail = rs.getString("mail");
				System.out.println(id+" 	      "+username+"                     "+password+"    "+mail);
			}
			
		}catch(Exception e){
			e.printStackTrace();
		}
//		System.out.println(condition +"=?"+ username);
//		System.out.println(condition_password +"=?"+ password);
		if(condition.equals(username) && condition_password.equals(password)){
			return true;
		}
		else{
			return false;
		}
	}

 




用户注册:
     用户注册也是需要条件的:用户名密码不为空,用户名在数据库中不存在。
/** 
	 * 查询用户 用户不存在时允许注册
	 * @param condition 查询条件
	 */
	public boolean queryMember(String condition){
			String username = null;
		try{
			Connection con = this.getConnection();
			//定义SQL语句
			String sql2 = "select * from user where username = ?";
			PreparedStatement pstmt = con.prepareStatement(sql2);
			
			//给每一个?占位符指定数据
			pstmt.setString(1, condition);
			
			ResultSet rs = pstmt.executeQuery();//执行
			
			System.out.println("id     username    password    mail");
			while(rs.next()){//检测是否还有下一条记录
				int id = rs.getInt("id");
				username = rs.getString("username");
				String password = rs.getString("password");
				String mail = rs.getString("mail");
				System.out.println(id+" 	      "+username+"                     "+password+"    "+mail);
			}
			
		}catch(Exception e){
			e.printStackTrace();
		}
		
		if(condition == username ){
			return true;
		}
		else{
			return false;
		}
	}
				 







用户修改个人资料等的功能将在后续加上。
附件是所有代码的压缩文件。


  • 大小: 100.1 KB
  • 大小: 21 KB
  • 大小: 106.4 KB
  • 大小: 38.8 KB
1
1
分享到:
评论
1 楼 梣梓cenzi 2015-10-01  
大国庆的写代码、写博客

相关推荐

    分布式数据库架构及企业实践-基于Mycat中间件

    分布式数据库架构及企业实践-基于Mycat中间件【高清版本】这是个压缩包,里面是个pdf文件,详细的介绍了mycat中间件的使用方法。 内容简介 本书由资深 Mycat 专家及一线架构师、DBA 编写而成。全书总计 8 章,首先...

    分布式数据库架构及企业实践-基于Mycat中间件.pdf

    《分布式数据库架构及企业实践——基于Mycat中间件》对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、...

    TiDB数据库从入门到实践视频教程

    手把手一步步从零开始安装搭建TiDB数据库,从原理架构到实际操作,实现真正的入门到实践 课程亮点 1,理论+实践,让你既能学懂也能学会 2,图文并茂,化繁为简,让知识通俗易懂,不再抽象 3,案例契合实际开发,让...

    java的struts架构连接数据库入门手册

    java的struts架构连接数据库入门手册,详细描述了如何使用myeclipse连接数据库,并创建struts架构的web项目。

    数据库原理(第5版)

    而且这一方法也避免了一个常见的问题:在同时介绍概念和产品时,学生容易混淆概念与产品特性和功能。例如,在讲授参照完整性约束时,如果从概念的角度讲授会说明这时一个表中的列值必须总是由另一个表中的列值提供,...

    使用springboot+mybatis+Vue2.0+elementUI实现简单的登录注册及用户信息获取。

    本demo实现了简单的登录、注册、获取用户信息三个功能,其中包含密码加密,解决了前后端分离项目常见的跨域问题及session问题,界面清晰简单,后台分层清晰,逻辑清楚。 值得一看。 项目结构:ajax_test为后端项目,...

    NOSQL数据库入门

    NOSQL数据库入门,缓存数据库查询 数据冗余与故障预防 Memcached客户端(mc) 缓存式的Web应用程序架构缓存数据库查询 数据冗余与故障预防 Memcached客户端(mc) 缓存式的Web应用程序架构

    分布式数据库架构及企业实践-基于Mycat中间件 + 官网入门

    分布式数据库架构及企业实践-基于Mycat中间件 + 官网入门

    Oracle体系架构(实例+数据库).pdf

    本文在作者测试通过的基础上,采用图文相结合的格式和方式,对实例和数据库的概念和使用方法进行了详尽说明,零基础入门级读者只需按照本文内容逐步进行学习和操作,即可完成Oracle体系架构的学习和掌握。

    全面讲解开源数据库中间件MyCat使用及原理视频教程

    本课程将全面的从MyCat基础,高级,集群,监控,架构剖析来讲解MyCat,并通过一个案例来演示在实际开发中,我们应该如何来实现MyCat进行数据库的分片操作。通过本课程的学习,我们能够全面的掌握MyCat的使用及原理。...

    SQL Server数据库应用与开发网络大讲堂

    本书全面介绍SQL Server数据库应用与开发知识,全书共分5篇20章,内容包括:SQL Server 2005基础入门篇(第1~5章),介绍数据库基础知识;数据基本操作篇(第6~8章),介绍数据库查询和数据操作知识;Transact-SQL...

    mysql数据库基础教程

    MySQL基础教程和MySQL性能调有与架构设计

    ASP.NET 2.0数据库与网络开发从入门到精通(VB.NET) 案例素材

    本书从ASP.NET 2.0架构与SQL Server 2000数据库的安装讲起,通过实用、简洁的实例来介绍Visual Basic.NET(书中简称VB.NET)的基础语法,使读者在使用ASP.NET 2.0开发Web应用和数据库程序前,具有扎实的语言基?...

    分布式数据库架构及企业实践 基于Mycat中间件

    《分布式数据库架构及企业实践——基于Mycat中间件》对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、...

    数据库到分布式框架

    数据库到分布式计算框架的入门资料,内容丰富,比较适合想学习数据存储到分布式计算的同学

    三层结构实现了做网站最基本的添删改查功能

    程序用三层结构实现了做网站最基本的添删改查功能,感觉比较适合入门者,因为考虑到新人学习之用 所以就不写存储过程和数据工厂了!只是普通的三层!希望能对三层苦手的朋友有帮助吧! 一般来说三层结构的中间层...

    分布式数据库架构及企业实践:基于Mycat中间件

    《分布式数据库架构及企业实践——基于Mycat中间件》对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、...

    分布式数据库架构及企业实践-基于Mycat.pdf

    书名: 分布式数据库架构及企业实践——基于Mycat中间件 作者:周继锋 冯钻优 陈胜尊 左越宗 ISBN:978-7-121-30287-9 出版年月:2016年11月 定价:79元 开本:787×980 1/16 普通关键词:计算机 分布式 数据库 学科...

Global site tag (gtag.js) - Google Analytics