DAO模式+JDBC

                    

实现DAO模式的步骤

  1. 创建实体类包Entity
  2. 创建DAO包(DAO包中包括实际需要的接口和对应的实现类)
  3. 创建业务层包Manager

使用JDBC的步骤

  1. 连接数据库
  2. 为数据库传递查询和更新指令。
  3. 处理数据库响应并返回的结果。
  • 连接数据库所需条件
  1. 将连接数据库所需的Jar包导入到项目      (右击项目名>properties>选中Libraies栏>点击Add JARS>找到导入的驱动Jar包)
  2. 连接数据库之前需要先配置好datebase.properties文件  (配置文件(datebase.properties)中需要的基本参数) 

   配置文件中的基本参数

   driver:com.mysql.jdbc.Driver                                              (连接数据库的驱动)   [连接不同的数据库需要不同的驱动]

   url:jdbc:mysql://localhost:3306/需要连接数据库的名称        (数据库的地址)      

   username:root                                                                     (数据库的用户名)     [用户名和密码与你所连接的数据库一致]

   password:root                                                                      (数据库的密码)

这是一个工具类,包括了得到连接对象的方法,关闭资源,执行sql语句的方法,配合DAO包中的实现类使用



public class BaseDao {

	private static String driver;//驱动
	private static String url;//配置文件路径
	private static String username;//数据库的账户
	private static String password;//数据库密码
	
	
	//类加载器
	static{
		
		Properties pro=new Properties();
		
		//读取配置文件的类
		InputStream in=BaseDao.class.getClassLoader().getResourceAsStream("database.properties");
		try {
			//读取配置文件中的信息
			pro.load(in);
			driver=pro.getProperty("driver");
			url=pro.getProperty("url");
			username=pro.getProperty("username");
			password=pro.getProperty("password");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//得到连接对象的方法
	public Connection getConnection(){
		Connection conn=null;
		
		//加载驱动
	    try {
			Class.forName(driver);
		    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 void closeAll(Connection conn,Statement state,ResultSet rs){
		
		try {
			if(rs!=null){
				rs.close();
			}
			if(state!=null){
			
				state.close();
			}
			if(rs!=null){
				
				rs.close();
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	//通用的执行方法
	public int execute(String sql,Object[] params){
		
		PreparedStatement pstmt=null;
		int num=0;
		Connection conn=this.getConnection();
		
		try {
			pstmt=conn.prepareStatement(sql);
			if(params!=null){
				
				for(int i=0;i<params.length;i++){
					pstmt.setObject(i+1, params[i]);
				}
				
			}
			
			//执行sql语句
			num=pstmt.executeUpdate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			closeAll(conn,pstmt,null);
		}
		
		return num;
		
		
	}
}

2.根据需求执行你所需要的sql语句

3.对返回的结果进行处理


 

猜你喜欢

转载自blog.csdn.net/Ein_Blatt/article/details/83583220