欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册 博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 

程序员文章站 2024-03-14 23:28:05
...

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

数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 

     其中的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;
		}
	}

 


数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 

用户注册:
     用户注册也是需要条件的:用户名密码不为空,用户名在数据库中不存在。
/** 
	 * 查询用户 用户不存在时允许注册
	 * @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;
		}
	}
				 


数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 

数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 


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


  • 数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 
  • 大小: 100.1 KB
  • 数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 
  • 大小: 21 KB
  • 数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 
  • 大小: 106.4 KB
  • 数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
            
    
    博客分类: 数据库相关 数据库产品架构用户登录用户注册sql 
  • 大小: 38.8 KB