什么是dao工厂模式

什么是dao工厂模式,第1张

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中,怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9793756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存