mvc设计模式

//1jar包的导入 我的jar包为:ojdbc6.jar
//配置文件的编写,在这里我的配置文件为jdbc. properties
//entity层:根据数据库的表格创建实体类
//dao层:根据实体类创建的实体类的抽象类
//dao层—impl:为实体类抽象类的子类,直接操作数据库的子类
// utils层:为工具类,为了降低代码直接的耦合性随之产生的工具类
下面果断copy我的代码:

entity层:Temp.java(根据数据库的信息创建的实体类)

import java.io.Serializable;
import java.util.Date;

/**
 * @author ljk
 * 创建Temp实体类
 */
public class Temp implements Serializable {
	private int empno;
	private String ename;
	private String job;
	private int mgr;
	private Date hiredate;
	private double sal;
	private double comm;
	private int deptno;
	public Temp(int empno, String ename, String job, int mgr, Date hiredate,
			double sal, double comm, int deptno) {
		
		this.empno = empno;
		this.ename = ename;
		this.job = job;
		this.mgr = mgr;
		this.hiredate = hiredate;
		this.sal = sal;
		this.comm = comm;
		this.deptno = deptno;
	}
	public Temp() {
		
	}
	public int getEmpno() {
		return empno;
	}
	public void setEmpno(int empno) {
		this.empno = empno;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public int getMgr() {
		return mgr;
	}
	public void setMgr(int mgr) {
		this.mgr = mgr;
	}
	public Date getHiredate() {
		return hiredate;
	}
	public void setHiredate(Date hiredate) {
		this.hiredate = hiredate;
	}
	public double getSal() {
		return sal;
	}
	public void setSal(double sal) {
		this.sal = sal;
	}
	public double getComm() {
		return comm;
	}
	public void setComm(double comm) {
		this.comm = comm;
	}
	public int getDeptno() {
		return deptno;
	}
	public void setDeptno(int deptno) {
		this.deptno = deptno;
	}
	@Override
	public String toString() {
		return "Temp [empno=" + empno + ", ename=" + ename + ", job=" + job
				+ ", mgr=" + mgr + ", hiredate=" + hiredate + ", sal=" + sal
				+ ", comm=" + comm + ", deptno=" + deptno + "]";
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		long temp;
		temp = Double.doubleToLongBits(comm);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result = prime * result + deptno;
		result = prime * result + empno;
		result = prime * result + ((ename == null) ? 0 : ename.hashCode());
		result = prime * result
				+ ((hiredate == null) ? 0 : hiredate.hashCode());
		result = prime * result + ((job == null) ? 0 : job.hashCode());
		result = prime * result + mgr;
		temp = Double.doubleToLongBits(sal);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Temp other = (Temp) obj;
		if (Double.doubleToLongBits(comm) != Double
				.doubleToLongBits(other.comm))
			return false;
		if (deptno != other.deptno)
			return false;
		if (empno != other.empno)
			return false;
		if (ename == null) {
			if (other.ename != null)
				return false;
		} else if (!ename.equals(other.ename))
			return false;
		if (hiredate == null) {
			if (other.hiredate != null)
				return false;
		} else if (!hiredate.equals(other.hiredate))
			return false;
		if (job == null) {
			if (other.job != null)
				return false;
		} else if (!job.equals(other.job))
			return false;
		if (mgr != other.mgr)
			return false;
		if (Double.doubleToLongBits(sal) != Double.doubleToLongBits(other.sal))
			return false;
		return true;
	}
	
	
}

utils层:SxtJDBCUtil.java(为了降低代码直接的耦合性)

import java.io.IOException;
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.Properties;

/**
 * @author ljk
 * @JDBC工具类
 */
public class BjsxtUtils {

	private static String url;
	private static String dirver;
	private static String uname;
	private static String pwd;
	static{
		//创建properties对象
		Properties pro= new Properties();
		try {
			//将jdbc.properties文件数据加载到当前类中
			pro.load(BjsxtUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"));
			dirver=pro.getProperty("dirver");
			url=pro.getProperty("url");
			uname=pro.getProperty("uname");
			pwd=pro.getProperty("pwd");
			Class.forName(dirver);
			System.out.println(dirver+"======"+url+"=========="+uname+"========="+pwd);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	/**
	 * @建立连接
	 * @return
	 */
	public static Connection getcoConnection(){
		Connection conn=null;
		//2加载驱动
		try {
			conn= DriverManager.getConnection(url,uname,pwd);
			conn.setAutoCommit(false);
		}catch (SQLException e) {
			e.printStackTrace();
		}
		//3创建连接
		return conn;	
	}
	/**
	 * @param conn
	 * @param sql
	 * @return
	 * @获取命令发送器
	 */
	public static Statement getStatement(Connection conn){
		Statement state=null;
		try {
			state=conn.createStatement();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return state;		
	}
	public static PreparedStatement getpPreparedStatement(Connection conn,String sql){
		PreparedStatement pstate=null;
		try {
			pstate=conn.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return pstate;
	}
	public static ResultSet getrResultSet(){
		return null;		
	}
	public static void closeAll(ResultSet resul,Statement state,Connection conn){
		if(resul!=null){
			try {
				resul.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}	
		if(state!=null){
			try {
				state.close();
			} catch (SQLException e) {		 			
				e.printStackTrace();
			}
		}
		
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {					
				e.printStackTrace();
			}
		}
	}
}

dao层:ITempDao(根据实体类创建的抽象类)

import java.util.List;
import com.bjsxt.entity.Temp;
public interface ITempDao {
	//查询所有员工信息
	public List<Temp> findAll();
}
dao层—impl:TempDaoimpl(实现了实体类的抽象类,可以直接对数据库信息进行操作)
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.bjsxt.dao.ITempDao;
import com.bjsxt.entity.Temp;
import com.bjsxt.utils.SxtJDBCUtil;

public class TempDaoimpl implements ITempDao {
	
	public static void main(String[] args) {
		List<Temp> temps=new TempDaoimpl().findAll();
		System.out.println(temps.size());
	}

	@Override
	public List<Temp> findAll() {
		//创建接受集合
		List<Temp> lists=new ArrayList<>();
		//声明连接
		Connection conn=null;
		PreparedStatement pstat=null;
		ResultSet rs=null;
		try {
		//创建连接
		conn=SxtJDBCUtil.getConnection();
		//创建命令发送器
		String sql="SELECT * FROM TEMP";
		pstat=SxtJDBCUtil.getPreparedStatement(conn, sql);
		//执行sql语句获取结果集
			rs=pstat.executeQuery();
			while(rs.next()){
				Temp temp=new Temp();
				temp.setEmpno(rs.getInt("empno"));
				temp.setEname(rs.getString("ename"));
				temp.setJob(rs.getString("job"));
				temp.setMgr(rs.getInt("mgr"));
				temp.setHiredate(rs.getDate("hiredate"));
				temp.setSal(rs.getDouble("sal"));
				temp.setComm(rs.getDouble("comm"));
				temp.setDeptno(rs.getInt("deptno"));
				lists.add(temp);
			}
			if(lists.size() >0){
				return lists;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		//关闭资源
		finally{
			SxtJDBCUtil.closeAll(rs, pstat, conn);
		}
		return null;
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值