据说在关于DriverManagerDataSource类的Spring javadoc文章中,这个类非常简单并且推荐使用
使用容器提供的JNDI DataSource.这样的一个
DataSource可以DataSource在Spring ApplicationContext via中作为bean 公开JndiObjectFactoryBean
问题是:我该如何做到这一点?
例如,如果我希望有DataSourcebean来访问我的自定义MySQL数据库,那么我需要什么呢?我应该在上下文配置等中写什么?
什么是由Visual Studio中的"创建服务引用"自动生成的.datasource文件?文件中的注释是这样的:
此文件由Visual Studio .Net自动生成.它用于存储通用对象数据源配置信息.
重命名文件扩展名或编辑此文件的内容可能
导致该程序无法识别该文件.
但是,听起来这些文件是可选的,所以我想知道它们用于什么.我也想知道删除它们是否真的安全,因为它们经常导致XP上的路径长度问题.
http://www.eggheadcafe.com/conversation.aspx?messageid=34104031&threadid=34104026
谁能指点我这些文件的官方MS文档?
我正在阅读Java JDBC规范(vr.4),并且我对此声明进行了说明:
DataSource - 此接口是在JDBC 2.0 Optional Package API中引入的.它优先于DriverManager,因为它允许有关底层数据源的详细信息对应用程序透明
我想要了解的是a Connection和a 之间的差异DataSource,以及它存在的原因.我的意思是,上面的块表示有关数据源的详细信息对应用程序是透明的,但是不会在属性文件中外部化数据库属性(如用户名,密码,URL等),然后以相同的方式使用DriverManager工作?
DataSource创建的界面是否只有一种通用的方式来返回可以合并的连接?在Java EE中,应用程序服务器是否实现此接口,并且部署的应用程序是否具有对数据源而不是连接的引用?
我正在尝试使用JNDI为Spring Web应用程序设置数据库连接属性.
我正在考虑以下两种方法:
方法1:
在Spring配置中,您可能会遇到以下情况:
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/facs"/>
Run Code Online (Sandbox Code Playgroud)
然后在你的webapp /META-INF/context.xml文件中你也应该有类似的东西:
<?xml version='1.0' encoding='utf-8'?>
<!-- antiResourceLocking="true" -->
<Context path="/podd-apn"
reloadable="true"
cachingAllowed="false"
antiResourceLocking="true"
>
<Resource name="jdbc/facs"
type="javax.sql.DataSource" username="${database.username}" password="${database.password}"
driverClassName="org.postgresql.Driver"
url="${database.url}"
maxActive="8" maxIdle="4"
global="jdbc/facs"
/>
</Context>
Run Code Online (Sandbox Code Playgroud)
在你的web.xml中,你应该这样:
<!-- JNDI -->
<resource-ref>
<description>FACs Datasource</description>
<res-ref-name>jdbc/facs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Run Code Online (Sandbox Code Playgroud)
方法2:
在Spring上下文中设置如下:
<jee:jndi-lookup id="dbDataSource"
jndi-name="jdbc/DatabaseName"
expected-type="javax.sql.DataSource" />
Run Code Online (Sandbox Code Playgroud)
您可以使用以下内容在Tomcat的server.xml中声明JNDI资源:
<GlobalNamingResources>
<Resource name="jdbc/DatabaseName" auth="Container" type="javax.sql.DataSource"
username="dbUsername" password="dbPasswd"
url="jdbc:postgresql://localhost/dbname"
driverClassName="org.postgresql.Driver"
initialSize="5" maxWait="5000"
maxActive="120" maxIdle="5"
validationQuery="select 1"
poolPreparedStatements="true"/>
</GlobalNamingResources/>
Run Code Online (Sandbox Code Playgroud)
并从Tomcat的web context.xml引用JNDI资源,如下所示:
<ResourceLink name="jdbc/DatabaseName"
global="jdbc/DatabaseName"
type="javax.sql.DataSource"/>
Run Code Online (Sandbox Code Playgroud)
我的问题是保留数据库属性的最佳位置在哪里?它们应该放在server.xml还是context.xml中 …
我在哪里可以找到我正在做的项目的历史原始天气数据,重点是美国和加拿大.我主要需要温度,但其他细节会很好.我很难找到这些数据.我真的不想要刮一个天气现场.
我想创建一个数据存储,以允许我存储一些数据.
第一个想法是创建一个字典,其中有1个具有许多值的键,所以有点像一对多的关系.
我认为字典只有1个键值.
我怎么能存储这些信息?
我正在使用.NET 2.0,我正在尝试将组合框的数据源绑定到排序字典.
所以我得到的错误是"DataMember属性'Key'无法在数据源上找到".
SortedDictionary<string, int> userCache = UserCache.getSortedUserValueCache();
userListComboBox.DataSource = new BindingSource(userCache, "Key"); //This line is causing the error
userListComboBox.DisplayMember = "Key";
userListComboBox.ValueMember = "Value";
Run Code Online (Sandbox Code Playgroud) 使用Spring Boot,我可以JdbcTemplate使用以下内容实例化:
码:
@Autowired
private JdbcTemplate jdbcTemplate;
Run Code Online (Sandbox Code Playgroud)
属性:
spring.datasource.url=jdbc:postgresql://my_url:my_port/my_other_stuff
spring.datasource.username=my_user_name
spring.datasource.password=my_password
spring.datasource.driver-class-name=org.postgresql.Driver
Run Code Online (Sandbox Code Playgroud)
这创建了一个类的DataSource: org.apache.tomcat.jdbc.pool.DataSource
如何以编程方式设置DataSource用户名/密码?
我们的策略是不以纯文本格式存储凭据,我必须在我工作的地方使用特定的凭据提供程序.
我正在尝试在http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html上关注Sun的JDBC教程.
它给出了以下示例代码:
DataSource ds = (DataSource) org.apache.derby.jdbc.ClientDataSource()
ds.setPort(1527);
ds.setHost("localhost");
ds.setUser("APP")
ds.setPassword("APP");
Connection con = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)
此代码无法编译,因为DataSource除了getConnection()上次调用的方法之外,接口没有这些方法.
(这是javadoc:http: //java.sun.com/javase/6/docs/api/javax/sql/DataSource.html)
我错过了什么?
编辑:
我实际上是在尝试连接MySQL(com.mysql.jdbc)而我找不到javadoc.我会接受一个指向我的答案:
1)com.mysql.jdbc关于DataSource我能理解的文件,或者
2)为任何数据库提供了教程代码应该遵循的示例.
我有一个与Cocoa框架设计模式相关的基本问题.
委托和数据源之间有什么区别?
它们都可以使用@protocols声明,但是一些类或框架正在使用delegate,而另一些正在使用datasource.
我可以理解的UI/NSTableView是delegate对UI相关事件的响应,而datasource与数据完全相关.但是,我不知道Cocoa的UI类之外的任何数据源实现.
注意:
datasource ×10
java ×5
spring ×3
.net ×2
c# ×2
jdbc ×2
jndi ×2
cocoa ×1
combobox ×1
database ×1
delegates ×1
dictionary ×1
file ×1
protocols ×1
spring-boot ×1
tomcat ×1
wcf ×1
weather ×1
weather-api ×1
winforms ×1