草庐IT

php - 结合 PDO 和 DAO 模式

PHP的PDO特性和DAOpattern是如何实现的?被混?我应该有一个抽象类来初始化与数据库的连接吗?PDO能不能等同于Java的JDBC? 最佳答案 是的,PDO几乎是JDBC的“等价物”,但在PHP中。您应该在域对象的构造函数中传递一个PDO实例(依赖注入(inject)):abstractclassObject{protected$_pdo;protected$_target;publicfunction__construct(PDO$pdo){$this->_pdo=$pdo;}publicfunctionload($id

php - 使用 DAO 或其他东西的 Yii 2 中的 mysqli_real_escape_string?

我正在使用Yii2并且即将开始在其中第一次使用数据库,并且想知道Yii2是否还有其他你应该用来准备的东西数据库的数据,例如标准的mysqli_real_escape_string函数,还是我应该只使用它?我没有使用准备好的语句,我通过他们的databaseaccessobjects访问数据库并想知道如何转义我传递给它的数据?我找到了quoteValue方法,但它包含在Yii调用的内容中Connection表示通过PDO连接到数据库。所以我不确定它是否是正确的使用方法? 最佳答案 正如您所说,您应该使用quoteValue。如果您的d

php - 如何使用 DTO 在 PHP 中使用 REST API?

我有一个API可以用于提供二手车金融报价的服务。我的应用程序是用PHP编写的,并且通过Composer添加了Guzzle5。我以前使用过其他API,它们采用XML或只是一组POST参数来发送,但这个更复杂。此API使用DTO对象并且文档是这样说的:reliesheavilyonDTOstocarrydatabetweenclientandserver.ThefollowingsectionsdetailtheDTOs.Eachwebservicewillserialiseandtransferthemintheirownformats/methods.Itistheresponsibi

php - 什么是与 PHP 框架的依赖注入(inject)相结合的良好 DAO 模式?

我正在开发一个基于依赖注入(inject)的PHP框架。我的数据对象是可注入(inject)组件,就像其他任何组件一样。我有一个抽象的DAO类,每个模型都应该扩展它,它有:基本的crud方法对DI容器的引用,用于实例化对象简而言之,事情是这样的abstractclassAbstractDao{protected$fields;protected$container;//Thisisthe(injected)DIcontainer,usedtocreateinstances.protected$driver;//Theinjecteddatabasedriver(i.e.PDO)publ

PHP 模式 - 服务/模型/映射器/Dao 示例?

有人知道使用以下4个“层”的PHP应用程序的一些好的示例吗ServiceLayer-->模型-->DataMapper-->DAO我不确定它是否有意义,但是当我使用这样的设计时,我必须执行以下操作以在我的数据库中创建一个新记录:$servcie=newService(newMapper(newDao));$service->save($data)服务正在创建一个新的数据对象并将其传递给映射器,映射器正在将数据传递给提供的Dao..使用这种构造的意图是什么?为什么不简单:$model=newModel();$model->save($data)模型正在保存到数据库。

java - DAO 方法参数、对象引用与 id

问题对于dao/存储库方法、实体对象或实体ID的参数类型的最佳实践是什么?示例代码@EntityclassProduct{//...@ManyToOneSellerseller;}@EntityclassSeller{@Id@GeneratedValueLongid;}classProductDao{//...//UsingidspublicListgetProductsOf(longsellerId){returngetSession().createQuery("fromProductwhereseller.id=?").setLong(0,sellerId).list();}//

java - 多态性和 DTO 对象创建

我开发的应用程序包含几个层次。我们有返回模型对象的DAO层。我们还有映射器实例化DTO对象并将它们发送给客户端。实体映射到Controller层中的DTO。我已经在几个实体类中引入了继承。让我们假设如下图所示classdiagram(notenoughreputationpointstopastimagedirectly)我向DAO询问具体动物园的动物名单。然后我得到列表Listanimals,但它们是具体类型,因为Animal是抽象的,我们不能在数据库中只有Animal。我想从这个模型对象创建DTO。我必须使用映射器,其中我有if..else语句检查每只动物的类型,然后创建适当的DT

Java/hibernate : how to write DAO code for complex SQLs

我目前的工作场所使用标准的Spring/Hibernate/JSP组合通过XML向其Flex客户端提供内容。访问数据的方式有很多种,但最普遍的方式是通过直接SQL调用数据库并手动转换为XML。问题在于,随着应用程序变得越来越大,SQL变得更加复杂且难以维护。好像维护使用StringBuilder创建的SQL还不够困难,现在更糟糕的是,这些SQL是使用许多if语句和循环动态构建的。我知道通常正确的方法是使用Hibernate查询和实体来获取项目。但是,在我们的某些请求中,结果无法映射到单个Hibernate实体,恐怕需要使用直接SQL。解决这个问题的正确方法是什么?有没有办法让动态sql

java - 服务层和 DAO 层中的 Spring 事务

在我的示例中,我有一个Hibernate实体和一个DAO。@Entity@Table(name="myEntity")publicclassMyEntity{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id")privatelongid;@Column(name="action")privateStringactionName;}...................@Repository("myDAO")@Transactional(propagation=Propagation.REQUIRED

java - 如何更改 Hibernate Tools 反向工程 DAO 类的名称?

所以我正在尝试使用HibernateTools对我的数据库进行逆向工程,而我刚刚开始使用Freemarker模板来弱化它生成的代码。问题是我想更改它生成的DAO类的名称。默认情况下,DAO类以PersonH​​ome的形式命名,但是为了将名称更改为PersonDAO,我修改了dao/daohome.ftl。虽然这确实将生成的类名称更改为PersonDAO,但java文件仍称为PersonH​​ome.java。有没有地方我也可以更改生成的文件名以匹配源代码? 最佳答案 好吧,我自己已经弄清楚了。似乎虽然Hibernate工具确实支持