全部博文(556)
分类: Java
2011-07-14 21:36:39
创建DAO
版本号:0.1
制定日期:2010-12
编制 |
冯宝鹏 |
日期 |
2010-12-24 |
审核 |
|
日期 |
|
批准 |
|
日期 |
|
文档修订记录
修订日期 |
修订内容 |
修订人 |
|
|
|
|
|
|
目 录
1. 先将mysql数据库的jdbc驱动复制粘贴到所开发项目的lib目录之下,它会自动加入到引用类库当中。
2. 接着开发实体类,该实体类必须与数据库表的数据相对应。
实体类代码如下:
package entity;
public class Student { int id,age; String username,password; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }
} |
DAO层代码如下:
package dao; import java.sql.SQLException; import entity.Student; /** * 学生数据访问类 * @author Tom * @version0.1 2010-12-24 */
public class StudentDAO { /** * 根据用户名和密码找到用户对象 * @param username 用户名 * @param password 密码 * @return 找到的用户对象,找不到返回null */ public Student findStudent(String username,String password){ try{ Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){ e.printStackTrace(); }
java.sql.Connection conn=null; //数据库连接 java.sql.PreparedStatement pstmt=null; //数据库表达式 //使用PreparedStatement可以有效的防治SQL注入攻击 java.sql.ResultSet rs=null; //结果集 String sql="select * from Student where username=? and password=?"; //SQL
try{ conn=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK","root","admin"); pstmt=conn.prepareStatement(sql); pstmt.setString(1,username); pstmt.setString(2,password); rs=pstmt.executeQuery();
if(rs!=null&&rs.next()){ //读到数据,生成实体类 Student student=new Student(); student.setId(rs.getInt(1)); //等价于getInt("id"); student.setUsername(rs.getString("username")); student.setPassword(rs.getString("password")); student.setAge(rs.getInt("age")); return student; } }catch(SQLException e){ e.printStackTrace(); }finally{ //6.释放资源,建议放在finally语句中确保都被关闭掉了 try{ rs.close(); }catch(SQLException e){} try{ pstmt.close(); }catch(SQLException e){} try{ conn.close(); }catch(SQLException e){} } return null; } public static void main(String[] args){ Student student=new StudentDAO().findStudent("张三","1234"); System.out.println(student.getUsername()); }
} |