JDBC+MySQL 之 DAO模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014565127/article/details/89052719

DAO模式

Data Access Object 数据访问对象

工程目录结构:

在这里插入图片描述

实现步骤:

  1. 新建一个dao的接口,里面声明数据库访问规则。
    package com.veeja.dao;
    
    /**
     * 定义操作数据库的方法
     * @author veeja
     */
    public interface UserDao {
    
    	/**
    	 * 查询所有
    	 */
    	void findAll();
    
    	/**
    	 * 登录方法
    	 * @param username
    	 * @param password
    	 */
    	void login(String username,String password);
    	
    }
    
  2. 新建一个dao的实现类,具体实现早前定义的规则。
    public class UserDaoImpl implements UserDao {
    
    	@Override
    	public void findAll() {
    
    		Connection conn = null;
    		Statement st = null;
    		ResultSet rs = null;
    
    		try {
    			// 获取连接对象
    			conn = JDBCUtil.getConn();
    
    			// 创建statement对象
    			st = conn.createStatement();
    						
    			// 执行SQL语句,得到结果集			
    			String sql = "select * from t_user";
    			rs = st.executeQuery(sql);
    			
    			// 遍历结果集
    			while(rs.next())
    			{
    				String username = rs.getString("username");
    				String password = rs.getString("password");
    				System.out.println("username = "+username+"\tpassword = "+password);
    			}	
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			JDBCUtil.release(conn, st, rs);
    		}
    	}
    	
    	@Override
    	public void login(String username, String password) {
    		// TODO Auto-generated method stub
    		Connection conn = null;
    		Statement st = null;
    		ResultSet rs = null;
    
    		try {
    			conn = JDBCUtil.getConn();
    			st = conn.createStatement();
    
    			String sql = "select * from t_user where username='" + username + "' and password = '" + password + "'";
    			rs = st.executeQuery(sql);
    
    			if (rs.next()) {
    				System.out.println("登录成功!");
    			} else {
    				System.out.println("登陆失败!");
    			}
    
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			JDBCUtil.release(conn, st, rs);
    		}
    	}	
    }
    
  3. 直接使用实现。
    public class TestUserDaoImpl {
    
    	@Test
    	public void testFindAll() {
    		UserDao dao = new UserDaoImpl();
    		dao.findAll();
    	}
    
    	@Test
    	public void testLogin() {
    		UserDao dao = new UserDaoImpl();
    		dao.login("zhangsan","10010");
    	}
    }
    

猜你喜欢

转载自blog.csdn.net/u014565127/article/details/89052719