DAO就是对数据库里面的数据的增删改查的 *** 作,而工厂模式是对数据库连接的封装,不同数据库不同的连接(如代码2);
DAO的功能:
1、 DAO用来封装Data Source的;就比如,Connection conn = DAOFacotrycreateConnection();
就可以把Driver URL username, passpword这一些放在DAO中
以后要更改数据库的类型比如要把MSSQL换成Oracle的话;只需要更改DAOFacory里面的getConnection()里面的DriverURL之类的;
2、DAO也是把对数据库的 *** 作(比如最基本的CRUD *** 作)全部封装在里面;
比如要要插入一个新的用户;那么在DAO中只需要提供一个insertUser(User user)这一个方法就可以了;具体的 *** 作是在DAO中实现的;
那么对于要调用DAO的时候,只要知道insertUser(User)是用来插入一个新的用户;而不需要知道是如何实现的。
C# 可以使用adonet来连接数据库oracle或者sql server
Oracle、Microsoft 和第三方供应商都提供了针对 Oracle 产品进行了优化的数据供应程序。 Oracle 和 Microsoft 免费提供其 Oracle 数据供应程序。
案例:
public IListGetAllStudents1()
{
IList dataList = newList();
DataSetdataSet = new DataSet();// 声明并初始化DataSet
OracleDataAdapterdataAdapter; // 声明DataAdapter
using(OracleConnection conn = new OracleConnection(connString))
{
// 定义查询语句
stringsql = "SELECT FROM Student";
// 定义command对象
OracleCommandcommand = new OracleCommand(sql,conn);
connOpen();
// 初始化DataAdapter
dataAdapter = new OracleDataAdapter(command);
// 填充DataSet
dataAdapterFill(dataSet, "dataSetName");
// 处理数据集中的数据
foreach(DataRow row indataSetTables[0]Rows)
{
Studentmodel = new Student();
modelStuID = ConvertToInt32(row["stuID"]);
modelStuName = ConvertToString(row["stuName"]);
dataListAdd(model);
}
}
returndataList;
}
把把Oracle 替换成Sql 就是sql server数据库的样本代码
DBConnectionManagerjava
import javasql;
public class DBConnectionManager {
private String driverName="commicrosoftjdbcsqlserverSQLServerDriver";
private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo";
private String user="sa";
private String password="";
public String getDriverName() {
return driverName;
}
public void setDriverName(String driverName) {
thisdriverName = driverName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
thispassword = password;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
thisurl = url;
}
public String getUser() {
return user;
}
public void setUser(String user) {
thisuser = user;
}
public Connection getConnection(){
try{
ClassforName(driverName);
return DriverManagergetConnection(url, user, password);
}catch(Exception e){
eprintStackTrace();
return null;
}
}
}
DBSQLManagerjava
import javasql;
public class DBSQLManager {
protected Connection con=null;//Connection对象
protected Statement stmt=null;//Statement对象
protected ResultSet rs=null;//记录结果集
protected String sql=""; //SQL语句
public DBSQLManager(){
try {
DBConnectionManager dcm=new DBConnectionManager();
con=dcmgetConnection();
//consetAutoCommit(false);//添加事物,既是否自动提交
stmt=concreateStatement();
} catch (SQLException e) {
eprintStackTrace();
}
}
public Statement getStmt(){
return stmt;
}
public Connection getCon(){
return con;
}
public ResultSet getRs(){
return rs;
}
public void setSql(String sql){
thissql=sql;
}
public String getSql(){
return sql;
}
//查找
public void execueQuery(){
try {
rs=stmtexecuteQuery(sql);
} catch (SQLException e) {
eprintStackTrace();
}
}
//更新
public void executeUpdate(){
try {
stmtexecuteUpdate(sql);
} catch (SQLException e) {
eprintStackTrace();
}
}
//关闭
public void close(){
if(rs!=null){
try {
rsclose();
} catch (SQLException e) {
eprintStackTrace();
}
rs=null;
}
if(stmt!=null){
try {
stmtclose();
} catch (SQLException e) {
eprintStackTrace();
}
stmt=null;
}
try {
conclose();
} catch (SQLException e) {
eprintStackTrace();
}
con=null;
}
}
如果楼主有不明白的,,百度HI我
祝楼主早日成功!
以上就是关于什么是dao工厂模式全部的内容,包括:什么是dao工厂模式、编写好的winform窗体应用如何绑定数据库进行封装、jsp中封装数据库 *** 作,例如数据库连接,条件查询等到javabean中,怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)