Java SE电商管理系统(dao层)(数据库层)

UserDao.java

package com.hyg.dao;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.hyg.model.User;

public class UserDao extends BaseDao {
	/**
	 * 用户登录
	 * @param userno 账号
	 * @param pwd 密码
	 * @return 
	 */
	
	public User login(String userno,String pwd){
		String sql ="select *from k_user where userno='"+userno+"' and pwd='"+pwd+"'";
		//String sql ="select *from k_user where userno=? and pwd=?";
		try {
			//1、获得数据库连接
			this.conn=this.getConn();
			//2、命令执行对象
			this.ps=conn.prepareStatement(sql);
			//3、执行命令(查询、修改)
			this.rs=ps.executeQuery();
			//4、处理结果
			if(rs.next()){//如果有下一条
				//字符串类型用getString
				String username=rs.getString("username");//username指的是表的列名
				String position=rs.getString("position");//职位
				//整数类型用getInt
				int age=rs.getInt("age");//年龄
				int id=rs.getInt("id");//用户id
				User user=new User();
				user.setId(id);
				user.setUsername(username);
				user.setUserno(userno);
				user.setPwd(pwd);
				user.setPosition(position);
				user.setAge(age);
				return user;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
		this.closeAll();
	    }
		return null;
	}
    /**
     * 查询用户列表
     * @return 用户集合
     */
	public List<User> findUserList() {

		String sql ="SELECT u.*, d.DEPTNAME FROM k_user u,k_dept d WHERE u.DEPTNO = d.DEPTNO;";
		try {
			//1、获得数据库连接
			this.conn=this.getConn();
			//2、命令执行对象
			this.ps=conn.prepareStatement(sql);
			//3、执行命令(查询、修改)
			this.rs=ps.executeQuery();
			//4、处理结果
			
			List<User> list=new ArrayList<User>();
			while(rs.next()){//如果有下一条
				//字符串类型用getString
				String username=rs.getString("username");//username指的是表的列名
				String position=rs.getString("position");//职位
				//整数类型用getInt
				int age=rs.getInt("age");//年龄
				int id=rs.getInt("id");//用户id
				String userno=rs.getString("userno");
				String pwd=rs.getString("pwd");
				String deptname=rs.getString("deptname");
				
				User user=new User();
				user.setId(id);
				user.setUsername(username);
				user.setUserno(userno);
				user.setPwd(pwd);
				user.setPosition(position);
				user.setAge(age);
				user.setDeptName(deptname);
			
				list.add(user);	
			}
			return list;
			
			
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
		this.closeAll();
	    }
		return null;
	}
		/**
		 * 添加用户
		 * @param u 用户对象
		 * @return true 添加成功 false 添加失败
		 */
		public Boolean addUser(User u) {

			String sql ="insert into k_user(userno,pwd) values ('"+u.getUserno()+"','"+u.getPwd()+"')";//动态的
			//String sql ="select *from k_user where userno=? and pwd=?";
			try {
				//1、获得数据库连接
				this.conn=this.getConn();
				//2、命令执行对象
				this.ps=conn.prepareStatement(sql);
				//3、执行命令(添加,修改、删除)更新命令
				int result=ps.executeUpdate();//返回受影响的行数
				if(result>0){
					//执行成功
					return true;			
				}	
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll();
		    }
			return false;
	
		}
		/**
		 * 修改用户
		 * @param u
		 * @return
		 */
		public Boolean deitUser(User u) {
			//String sql ="update k_user set pwd='"+u.getPwd()+"',position='"+u.getPosition()+"' where id = "+u.getId()+"";
			String sql ="update k_user set pwd=?,position=? where id =?";
			try {
				//1、获得数据库连接
				this.conn=this.getConn();
				//2、命令执行对象
				
				this.ps=conn.prepareStatement(sql);
				ps.setString(1, u.getPwd());
				ps.setString(2, u.getPosition());
				ps.setInt(3, u.getId());
				
				//3、执行命令(添加,修改、删除)更新命令
				int result=ps.executeUpdate();//返回受影响的行数
				if(result>0){
					//执行成功
					return true;			
				}	
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll();
		    }
			return false;
	
		}
		public Boolean deleteUser(User u) {
			String sql ="delete from k_user where id="+u.getId()+"" ;
			try {
				//1、获得数据库连接
				this.conn=this.getConn();
				//2、命令执行对象
				this.ps=conn.prepareStatement(sql);
				//3、执行命令(添加,修改、删除)更新命令
				int result=ps.executeUpdate();//返回受影响的行数
				if(result>0){
					//执行成功
					return true;			
				}	
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll();
		    }
			return false;
		
			
		}

	
}

BaseDao

package com.hyg.dao;

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

/**
 * 数据库访问基类
 * @author Administrator
 *
 */
public class BaseDao {
	//数据库驱动
	private String driver="com.mysql.jdbc.Driver";
	//地址(IP、端口、数据库名称)
	private String ur1="jdbc:mysql://localhost:3306/orcl";
	//数据库连接的账号
	private String name="root";
	//数据库连接的密码
	private String pass="root";
	
	
	Connection conn;//数据库连接类
	PreparedStatement ps;//执行命令类
	ResultSet rs;//存储执行结果
	
	/**
	 * 获取数据库连接
	 * @return 数据库连接对象
	 */
	public Connection getConn(){
		try {
			Class.forName(driver);//加载驱动
			//得到数据库连接信息
			Connection conn=DriverManager.getConnection(ur1,name,pass);
			return conn;
		} catch (Exception e) {
			//写入日志文件
			//向控制台打印异常
			e.printStackTrace();
		}
		return null;
		
	}
	public void closeAll(){
		try {
			if(rs!=null){
				rs.close();//关闭对象(释放资源)
				rs=null;
			}
			if(ps!=null){
				ps.close();//关闭对象(释放资源)
				ps=null;
			}
			if(conn!=null){
				conn.close();//关闭对象(释放资源)
				conn=null;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
	}

	public static void main(String[] args) {
		new BaseDao().getConn();
	}
	
	
}

猜你喜欢

转载自blog.csdn.net/qq_45991659/article/details/107772720