作业

 

package com.openlab.utils;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.Properties;

public abstract class JDBCUtils {
	private static String driver=null;
	private static String url=null;
	private static String user=null;
	private static String password=null;
	static{
		try {
			Properties properties=new Properties();
			InputStream in=JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
			properties.load(in);
			driver=properties.getProperty(driver);
			url=properties.getProperty(url);
			user=properties.getProperty(user);
			password=properties.getProperty(password);
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static Connection getConnection(){
		Connection conn=null;
		try {
			 conn=DriverManager.getConnection(url, user, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}return conn;
	}
	
	public static void close(Connection conn,PreparedStatement ps,ResultSet rs){
		try {
			if(rs!=null){
				rs.close();
			}
			rs=null;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				if(ps!=null){
					ps.close();
				}
				ps=null;
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				try {
					if(conn!=null){
						conn.close();
					}
					conn=null;
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
	
	
	
	public static void update(String sql,Object...args){
		Connection conn=null;
		PreparedStatement ps=null;
		try {
			conn=getConnection();
			ps=conn.prepareStatement(sql);
			for(int i=0;i<args.length;i++){
				ps.setObject(i+1, args[i]);
			}
			ps.executeQuery();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			close(conn,ps,null);
		}
	}
	
	public Object queryByOne(String sql){
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		Object res=null;
		try {
			conn=getConnection();
			ps=conn.prepareStatement(sql);
			rs=ps.executeQuery();
			res=resultSetToObject(rs);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}return res;
	}
	
	
	public List queryByAll(String sql){
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		List list=null;
		try {
			conn=getConnection();
			ps=conn.prepareStatement(sql);
			rs=ps.executeQuery();
			list=resultSetToList(rs);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}return list;
	}

	protected abstract Object resultSetToObject(ResultSet rs); 
	protected abstract List resultSetToList(ResultSet rs);
}

 

 

package com.openlab.pojo;

public class Employee {
	private String id;
	private String username;
	private double salary;
	private int age;
	private String depart;
	
	

	public Employee() {
		
	}

	public Employee(String id, String username, double salary, int age,String depart) {
		super();
		this.id = id;
		this.username = username;
		this.salary = salary;
		this.age = age;
		this.depart = depart;
	}

	public String getId() {
		return id;
	}

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

	public String getUsername() {
		return username;
	}

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

	public double getSalary() {
		return salary;
	}

	public void setSalary(double salary) {
		this.salary = salary;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getDepart() {
		return depart;
	}

	public void setDepart(String dapart) {
		this.depart = depart;
	}

	@Override
	public String toString() {
		return "Employee [id="+id+",username="+username+",salary="+salary+",age="+age+",depart="+depart+"]";
	}
	
	

}

 

package com.openlab.dao;

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

import com.openlab.pojo.Employee;
import com.openlab.utils.JDBCUtils;
//数据链路层
public class EmployeeServiceDao extends JDBCUtils {

	@Override
	protected Object resultSetToObject(ResultSet rs) {
		Employee emp = new Employee();
		try {
			if (rs.next()) {
				emp.setId(rs.getString("id"));
				emp.setUsername(rs.getString("username"));
				emp.setSalary(rs.getDouble("salary"));
				emp.setAge(rs.getInt("age"));
				emp.setDepart(rs.getString("depart"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return emp;
	}

	@Override
	protected List resultSetToList(ResultSet rs) {
		List list=new ArrayList();
		try {
			while (rs.next()) {
				Employee emp = new Employee();
				emp.setId(rs.getString("id"));
				emp.setUsername(rs.getString("username"));
				emp.setSalary(rs.getDouble("salary"));
				emp.setAge(rs.getInt("age"));
				emp.setDepart(rs.getString("depart"));
				list.add(emp);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return list;
	}
	
	

}
package com.openlab.service;

import java.util.List;

import com.openlab.pojo.Employee;
//业务逻辑层
public interface EmployeeService {
	public Employee queryById(String id);
	public List<Employee>queryByName(String name);

}
package com.openlab.service.impl;

import java.util.List;

import com.openlab.dao.EmployeeServiceDao;
import com.openlab.pojo.Employee;
import com.openlab.service.EmployeeService;

public class EmployeeServiceImpl implements EmployeeService{
	EmployeeServiceDao dao=new EmployeeServiceDao();
	@Override
	public Employee queryById(String id){
		String sql="select * fom emp where id='"+id+"'";
		Object obj=dao.queryByOne(sql);//把执行后的值给到obj
		Employee emp=(Employee)obj;
		return emp;
	}
	@Override
	public List<Employee> queryByName(String name) {
		String sql="SELECT * FROM emp where username='"+name+"'";
		List list=dao.queryByAll(sql);
		return list;
	}

}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值