我在古老的留言板上找到了一些代码,可以很好地从类,模块和表单中导出所有VBA代码(见下文):
Option Explicit
Option Compare Database
Function SaveToFile() 'Save the code for all modules to files in currentDatabaseDir\Code
Dim Name As String
Dim WasOpen As Boolean
Dim Last As Integer
Dim I As Integer
Dim TopDir As String, Path As String, FileName As String
Dim F As Long 'File for saving code
Dim LineCount As Long 'Line count of current module
I = InStrRev(CurrentDb.Name, "\")
TopDir = VBA.Left(CurrentDb.Name, I - 1)
Path = TopDir & "\" & "Code" 'Path where …Run Code Online (Sandbox Code Playgroud) 我见过很多代码都使用了service-dao模式,我不知道这个模式的来源.它强制执行前层调用服务,然后将一些服务任务委托给dao.
我想问一下 :
我想知道哪种方法是访问我的应用程序数据库的最佳方法:使用内容提供程序,或手动实现我的DAO?从我最近的调查来看,似乎内容提供商,即使是应用程序内部使用,也是可取的,但我不确切知道每种方法的缺点是什么.你能给出一些反馈意见吗?
我在数据库中有一个可选字段,我使用DAO记录集提取.在将其与其他字段连接之前,我需要检查字段是否已设置.到目前为止,我有下面的代码片段,我已经与两个尝试Is和=(这是显然错误的语法[[Is | =]])无济于事.看来,如果我使用=它将无法正确比较,Null如果我使用Is它然后抱怨它不是与对象比较.
While Not rs.EOF
If rs.Fields("MiddleInitial") [[Is | =]] Null Then thisMiddleInitial = "" Else thisMiddleInitial = rs.Fields("MiddleInitial")
If prettyName(myLastName, myFirstName, myMiddleInitial) = prettyName(rs.Fields("LastName"), rs.Fields("FirstName"), thisMiddleInitial) Then
MsgBox "Yay!"
End If
rs.MoveNext
Wend
Run Code Online (Sandbox Code Playgroud)
如果有一个更简单的方法,我完全愿意接受它.prettyName需要3个字符串作为参数,最初我只是尝试直接传递rs.Fields("MiddleName"),但它以Null值抛出.我更愿意做更直接的事情,但这是我能想到的最好的事情.
@Entity
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private int salary;
@Version
private long version;
// ...getters and setters
}
Run Code Online (Sandbox Code Playgroud)
version?hibernateTemplate.saveOrUpdate什么?是否支持所有数据库?hibernateTemplate.saveOrUpdate每次增加版本值吗?DAO数据访问对象是.NET中常用的模式吗?我一直使用DAO作为提供访问我的数据层的方法.例如,我可能在我的EntityFramework ObjectContext上有一个瘦接口,将我的所有ObjectSet暴露为IObjectSet.
然后,DAO将公开复杂查询,每个DAO都依赖于此接口.我可能有一个ProductDAO暴露像GetProductsOnSale()或的方法GetInfrequenlySoldProducts().然后我的控制器或演示者将使用这些方法,这些方法可能是虚拟的,以允许对单元测试的特定结果进行存根.
这是.NET中常用的习惯用法吗?出于某种原因,我在线使用此模式看到的绝大多数示例都基于Java.甚至 关于DAO最佳实践的这个问题也被标记为Java而不是C#.
使用来自其他社区的东西没有任何问题,我只是有点担心我身边的每个人都在以不同的方式做事......
有人知道如何在hibernate配置中添加另一个数据源,以及如何在我自己的DAO中将Spring配置为该数据源的自动注入?
这是我的代码,有一个数据源,运行完美,但我不知道如何添加另一个数据源.我想添加另一个数据源,它是一个数据库,其表格与实际数据库不同.
HIBERNATE CONF
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url" value="jdbc:mysql://localhost/personal"/>
<property name="username" value="root"/>
<property name="password" value="mysql"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="packagesToScan">
<list>
<value>com.app.personal.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
<tx:annotation-driven/>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
DAO示例
@Repository
public class ModuloDAOHibernate extends HibernateTemplate implements ModuloDAO {
@Autowired
public ModuloDAOHibernate(SessionFactory sessionFactory) {
super(sessionFactory);
}
public List<Modulo> getAllGrupoModuloDAO() {
Criteria criteriaList = this.getSession().createCriteria(Modulo.class); …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,它使用不同地理位置的四个数据库.所有数据库都包含相同的表,并且只有数据库名称根据位置而不同.我必须在我的应用程序中创建一些使用每个数据库中的数据的报告.从java应用程序创建这些数据库连接的正确方法是什么?是否有适合我可以使用的任务的设计模式?
我对网上发现的一个例子有点困惑 - spring和hibernate(指向4. Model & BO & DAO).有Model,DAO和BO类(+ DAO和BO接口).我不清楚的是,如果DAO和BO分享完全相同的功能,那么为什么DAO和BO被分成不同的类(唯一不同的是BO有一个DAO设置器).
作者只解释了这种模式:
有助于清楚地识别图层,以避免弄乱项目结构
但它似乎过度设计了我(至少在这种情况下).我知道这个例子很简单,但是这个类的分离对什么有用呢?有人能提供一个例子吗?
最近我学习了ORM(对象关系映射)和3层架构风格(表示,业务和数据持久性).如果我理解正确,我可以将数据持久层分成DTO和DAO层.
我想了解,以下部分如何在数据持久层中一起工作.
最重要的是,我了解到了这一点
在较大的应用程序中,MVC是仅N层架构的表示层.
我真的很困惑,例如在3层架构风格中它是如何可能的,其中MVC只是一个表示层,而DTO,DAO,DAL只是数据持久层的一部分.我完全迷失了.
如果有人告诉我它是如何一起工作的真相,我会很高兴的.
请不要关闭这个问题,因为有许多不同的表达方式,我看到它到处都是这些东西基本上在大型应用程序中相互关联,我无法想象它是如何工作的.
我很感激任何答案!