5月7日收獲(DAO)
在用DAO設(shè)計(jì)模式編寫程序時(shí),根據(jù)以下幾個(gè)步驟:
1、定義接口;
2、定義底層JavaBean;
3、數(shù)據(jù)庫連接;
4、實(shí)現(xiàn)接口;
5、工廠;
6、主函數(shù);
根據(jù)你的項(xiàng)目,在不同的包里面寫相應(yīng)的代碼!
下面是一個(gè)簡單的例子:
1、定義接口:
package com.qhit.s2.t13.dao;
import java.util.List;
import com.qhit.s2.t13.javaben.User;
public interface IUserDAO {
public List<User> findAll();
}
2、JavaBean:
package com.qhit.s2.t13.javaben;
public class User {
private Integer id;
private String username;
private String password;
public User() {
super();
}
public User(Integer id, String username, String password) {
super();
this.id = id;
this.username = username;
this.password = password;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
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;
}
}
3、數(shù)據(jù)庫連接:
package com.qhit.s2.t13.dao.impl;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
private java.sql.Connection conn = null;
// public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// public final static String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=Company";
// public final static String DBUSER = "sa";
// public final static String DBPASS = "root";
public java.sql.Connection getConnection() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DataBaseName=Company",
"sa", "root");
return conn;
} catch(Exception e) {
e.printStackTrace();
}
return null;
}
public void closeConnection() {
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
4、實(shí)現(xiàn)接口:
package com.qhit.s2.t13.dao.impl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.qhit.s2.t13.dao.IUserDAO;
import com.qhit.s2.t13.javaben.User;
public class UserDAOImpl implements IUserDAO {
public List<User> findAll() {
List<User> userList = new ArrayList<User>();
String sql = "select * from users";
DBConnection db = new DBConnection();
try {
// System.out.println(db.getConnection());
PreparedStatement ps = db.getConnection().prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs != null) {
while(rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("userName"));
user.setPassword(rs.getString("password"));
userList.add(user);
}
}
rs.close();
ps.close();
db.closeConnection();
return userList;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}
5、工廠
package com.qhit.s2.t13.dao.impl;
import com.qhit.s2.t13.dao.IUserDAO;
public class DAOFactory {
public static IUserDAO getUserDAO() {
return new UserDAOImpl();
}
}
6、主函數(shù):
package main;
import java.util.List;
import com.qhit.s2.t13.dao.impl.DAOFactory;
import com.qhit.s2.t13.javaben.User;
public class TestMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<User> list = DAOFactory.getUserDAO().findAll();
if(list != null) {
System.out.println("chenggong");
} else {
System.out.println("shipai");
}
}
}
posted on 2010-05-07 17:48 chenjinlong 閱讀(331) 評(píng)論(1) 編輯 收藏