【数据库篇】——7.dao包中实现对数据库的操作设计

                                                 学习下一节:登录界面和功能的实现

1.简要说明

  之前在需求分析阶段我们已经详细说明了我们要实现的功能是那些,接下来我们就要在我们的dao包中实现这两个功能。

  还要说明的一点就是,在这里我们就用到了之前util包下的工具类DBUtil.java和model包下的User.java,这里体现了用户的操作和数据库关联的地方。从代码中你可以体会出来。

2.UsersDao.java

package com.dao;

import java.sql.ResultSet;
import java.sql.SQLException;

import com.model.User;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
import com.util.DBUtil;

/*
 * 2018.4.10
 * 用于数据的操作:增加数据和查询单条数据
 */
public class UsersDao {

	//增加数据
	public void add(User u) throws SQLException {
		DBUtil db=new DBUtil();
		Connection coon=db.getConnection();
		
		//获取用户的信息
		String name=u.getName();
		String password=u.getPassword();
		
		//将用户信息加入到数据库中
		String sql="insert into Users (name,password) " 
                    +"values (?,?)";
		PreparedStatement prpe=(PreparedStatement) coon.prepareStatement(sql);
		prpe.setString(1, name);
		prpe.setString(2, password);
		
		prpe.execute();
		System.out.println("add access!");
	}
	
	/*
	 * 获取单条数据数据
	 * 如果name能查到,就将数据库保存的name和password返回到result中返回
	 * 如果name没有查到,password中的内容为空,照样返回result中
	 */
	public User get(String name) throws SQLException {
		
		User result=new User();
		DBUtil db=new DBUtil();
		Connection conn=db.getConnection();

		String sql="" +
				" select * from  Users" +
				" where name=? ";
		PreparedStatement ptmt=(PreparedStatement) conn.prepareStatement(sql);
		ptmt.setString(1, name);
		ResultSet rs=ptmt.executeQuery();

		while(rs.next()){  
            String username=rs.getString("name");
            String password="";
            if(name.equals(username))
            {
            	password=rs.getString("password");
            	System.out.println("数据查询成功");
            }
            result.setName(name);
        	result.setPassword(password);
        }
		return result;
	}
		
		
}

上面两个方法就实现了我们注册和查询单个用户信息的功能,那么你可能疑问,登录功能在哪里呢?

在这里,我的思路是这样的:登录功能需要我们根据name查询到数据库中的一条记录,我们将这个记录保存到了一个user对象中返回,然后呢我们就可以通过user对象的getPassword()方法获取密码,将数据库中的密码和用户输入的密码匹配,看看能不能匹配上,就是这个思路。

好,接下下来需要我们去实现视图层的内容,然后根据视图层的操作控制整个业务逻辑。

                                                 学习下一节:登录界面和功能的实现

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值