面向对象的jdbc

package test;

import java.util.Scanner;

import entity.User;
import service.UserSerivce;
import service.impl.UserServiceImpl;

public class Client {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String username = sc.next();
		System.out.println("请输入用户名:");
		String password = sc.next();
		User user = new User();
		user.setPassword(password);
		user.setUsername(username);
		UserSerivce userSerivce = new UserServiceImpl();
		User u = userSerivce.login(user);
		if(u== null) {
			System.out.println("用户名密码错误..");
		}else {
			System.out.println(u.getId()+"\t"+u.getUsername()+"\t"+u.getPassword());
		}
		
	}
}

package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public abstract class DataBase {
	public static Connection conn = null;
	public static PreparedStatement pstm = null;
	public static ResultSet rs = null;
	/**
	 * 得到数据连接
	 */
	public static Connection getConn() {
		try {
			String url = "jdbc:oracle:thin:@localhost:1521:orcl";//易错点
			String username = "scott";
			String password = "tiger";
			Class.forName("oracle.jdbc.driver.OracleDriver");//易错点
			conn = DriverManager.getConnection(url, username, password);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}

	/**
	 * 关闭连接
	 */
	public static void close() {
		try {
			if (rs != null) {
				rs.close();
			}
			if(pstm != null) {
				pstm.close();
			}
			if(conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}

package dao.impl;

import java.sql.SQLException;

import dao.DataBase;
import dao.UserDao;
import entity.User;

public class UserDaoImpl implements UserDao {

	@Override
	public User getUser(User user) {
		// TODO Auto-generated method stub
		String sql = "select userid,username,password from "
				+ "t_user where userid=? and username = ? and password = ?";
				  //易错点,有三个user对象就必须有三个?
		User u = null;
		try {
			DataBase.conn = DataBase.getConn();
			DataBase.pstm = DataBase.conn.prepareStatement(sql);
			DataBase.pstm.setInt(1, 1);//这里setInt(,);第一个是rs索引,一个是use的对象值
			DataBase.pstm.setString(2, user.getUsername());
			DataBase.pstm.setString(3, user.getPassword());
			DataBase.rs = DataBase.pstm.executeQuery();
			while(DataBase.rs.next()) {
				u = new User();
				u.setId(DataBase.rs.getInt("userid"));
				u.setUsername(DataBase.rs.getString("username"));
				u.setPassword(DataBase.rs.getString("password"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return u;
	}

}

package service.impl;

import dao.UserDao;
import dao.impl.UserDaoImpl;
import entity.User;
import service.UserSerivce;

public class UserServiceImpl implements UserSerivce {
	UserDao userDao = new UserDaoImpl();

	@Override
	public User login(User user) {
		// TODO Auto-generated method stub
		return userDao.getUser(user);
	}

}

package entity;

public class User {
	private int id;
	private String username;
	private String password;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}

package service;

import entity.User;

public interface UserSerivce {
	public User login(User user);
}

package dao;

import entity.User;

public interface UserDao {
	public User getUser(User user);
}

猜你喜欢

转载自blog.csdn.net/oLengYueHun/article/details/87516956