(4)小项目
完成了第一步,你需要第二步了:
dao准备连接数据库的准备
app.properties这个是含有连接数据库的字符串
jarlib(这个是工具,好想你做作业需要笔)
选中连个jar包,右键,加入到build Path
DbUtil----提供源码(这个重要是方便程序员)
放到edu.uc.util包中
代码:
1 package edu.uc.util; 2 import java.sql.Connection; 3 import java.sql.ResultSet; 4 import java.sql.Statement; 5 6 import com.liuvei.common.DbFun; 7 public class DbUtil { 8 /*** 9 * 10 [获得连接对象] 11 * 12 * 13 @return 14 */ 15 public static Connection getConn() { 16 Connection conn = null; 17 try { 18 19 conn = DbFun.getConn(); 20 } catch (Exception e) { 21 // TODO: 自动生成cath块 22 e.printStackTrace(); 23 System.out.println("获得连接失败"); 24 } 25 System.out.println("conn" + conn); 26 27 return conn; 28 } 29 /** 30 * 关闭连接对象 31 * 32 * 33 @param conn 34 * 35 欲关闭的连接对象 36 */ 37 public static void close(Connection conn) { 38 DbFun.close(conn); 39 } 40 /** 41 * 42 关闭Statement 43 * 44 * @param stmt 45 */ 46 public static void close(Statement stmt) { 47 DbFun.close(stmt); 48 } 49 /** 50 *关闭ResultSet 51 * 52 * @param rs 53 */ 54 public static void close(ResultSet rs) { 55 DbFun.close(rs); 56 } 57 /** 58 *关闭三大对象 59 * 60 @param 61 conn 62 * @param stmt 63 @param rs 64 */ 65 public static void close(Connection conn,Statement stmt,ResultSet rs) { 66 DbFun.close(conn,stmt,rs); 67 } 68 } 69 70
实现对应的接口(放在dao层)
MemberDao(先写给,不是完全的)
1 public interface MemberDao{ 2 Member loadByName(String name); 3 }
然后类实现接口
MemberDaoImol
1 public class MemberDaoImpl implements MemberDao{ 2 //实现接口就是重写他们的方法 3 4 public Member loadByName(String name){ //是从数据库取出符合名字的记录 5 //方法里面是实现的逻辑(或者说是做怎么动作) 6 Member bean = null; 7 //0 定义变量 8 StringBuffer sbSQL = new StringBuffer(); 9 List<Object> paramsList = new ArrayList<Object>; 10 11 //1 组合sql 12 sbSQL.append("sellect * from Member"); 13 sbSQL.append("where username =?"); 14 sbSQL.append("order by userId asc"); 15 //2 添加参数 16 //paramsList.add(id) 17 paramList.add(name); 18 19 //3 转换类型 20 String sql = sbSQL.toString(); 21 Object[] params = paramsList.toArray(); 22 23 Connection conn = null; 24 ResultSet rs = null; 25 try{ 26 //4 取得连接对象 27 conn = DbUtil.getConn(); 28 29 //5 执行sql 30 rs = DbFun.query(conn,sql,params); 31 32 //6 多行转为对象列表 33 if (rs.next()) { 34 bean = toBean(rs); 35 } 36 } catch (SQLException e) { 37 // TODO: handle exception 38 e.printStackTrace(); 39 throw new RuntimeException(e); 40 } finally { 41 DbUtil.close(conn); 42 } 43 return bean; 44 } 45 46 }
会当凌绝顶,一览众山小