DB.DRIVER=com.mysql.jdbc.Driver
DB.CONNURL=jdbc:mysql://192.168.1.11:3306/dxt?useUnicode=true&characterEncoding=utf-8
DB.USERNAME=root
DB.PASSWORD=pass
DB.MAXIMUMACTIVECONNECTIONS=10
DB.MAXIMUMIDLECONNECTIONS=5
DB.MAXIMUMWAIT=60000以上是个配置文件properties.
用java怎样读取以上配置 得到一个 DataSource ,,关键是不知道 怎样得到 DataSource ,现在不要jndi。
DB.CONNURL=jdbc:mysql://192.168.1.11:3306/dxt?useUnicode=true&characterEncoding=utf-8
DB.USERNAME=root
DB.PASSWORD=pass
DB.MAXIMUMACTIVECONNECTIONS=10
DB.MAXIMUMIDLECONNECTIONS=5
DB.MAXIMUMWAIT=60000以上是个配置文件properties.
用java怎样读取以上配置 得到一个 DataSource ,,关键是不知道 怎样得到 DataSource ,现在不要jndi。
解决方案 »
- 。。。。。。。。。。。。。。。。。。网络通讯框架 Netty ,帮顶有分
- 是否要对<jsp:forward>行为所指向的页面进行encodeURL以使之不脱离会话
- 请老手们给点意见.....关于做什么毕业设计...
- 如何将数据库中的数据提取出来,并赋值给二维数组
- 网站项目实施业务流程及规范
- 为什么会出现这样的错误?
- servlet出错了,行家来把把脉,运行出错急死了请明白人看到了解释下
- 深圳项目外包~~~~
- [问题]如何在javabean中得到session变量?
- JBuilder里如何配置JSP服务器?
- <logic:iterate>的使用
- 如何将一个常量转化为java内置的public static final int
helloworld = "Hello World!"
String propfilename = "helloworld.properties";
Properties properties = new Properties();
InputStream is = getClass().getClassLoader().getResourceAsStream(
propfilename);
properties.load(is);
is.close();
helloworld = properties.getProperty("helloworld");
获得数据源一般来说可以这样获得InitialContext initCtx = new InitialContext();
DataSource ds = (DataSource) initCtx.lookup(strJNDIName);
import org.apache.commons.dbcp.BasicDataSourceFactory;import java.sql.SQLException;
import java.sql.Connection;
import java.util.Properties;public class ConnectionSource {
private static BasicDataSource dataSource = null; public ConnectionSource() {
} public static void init() { if (dataSource != null) {
try {
dataSource.close();
} catch (Exception e) {
//
}
dataSource = null;
} try {
Properties p = new Properties();
p.setProperty("driverClassName", "oracle.jdbc.driver.OracleDriver");
p.setProperty("url", "jdbc:oracle:thin:@192.168.0.1:1521:testDB");
p.setProperty("password", "scott");
p.setProperty("username", "tiger");
p.setProperty("maxActive", "30");
p.setProperty("maxIdle", "10");
p.setProperty("maxWait", "1000");
p.setProperty("removeAbandoned", "false");
p.setProperty("removeAbandonedTimeout", "120");
p.setProperty("testOnBorrow", "true");
p.setProperty("logAbandoned", "true"); dataSource = (BasicDataSource) BasicDataSourceFactory.createDataSource(p); } catch (Exception e) {
//
}
}
public static synchronized Connection getConnection() throws SQLException {
if (dataSource == null) {
init();
}
Connection conn = null;
if (dataSource != null) {
conn = dataSource.getConnection();
}
return conn;
}
}
props.load(new FileInputStream("DataSource.properties");
String url=props.getProperty("DB.CONNURL");
url+=";username="+props.getProperty("DB.USERNAME")+";password="+props.getProperty("DB.PASSWORD");
Hashtable env=new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.rmi.RegistryContextFactory");
env.put(Context.PROVIDER_URL,url);
InitialContext ctx=new InitialContext(env);
DataSource ds=(DataSource)ctx.lookup("strJNDIName");
首先,你可以把你的那些定义到一个属性文件中的,假设是db.peoperties.然后,你得想办法读取这个属性文件了.
public class Resouse { public static final String resource = "db.properties";//这里定义下面要区那找文件的,下面就是个文件操作流的问题了
Properties pr = new Properties();
public Resouse() {
try {
InputStream is = null;
is = this.getClass().getResourceAsStream(resource);
pr.load(is);
} catch (Exception ex) {
ex.printStackTrace();
}
} public String getString(String str) {
return pr.getProperty(str);
}}
第三:得到相关设定的参数了.
public Connection getConnection(){
Resouse re=new Resouse();
try {
Class.forName(re.getString("driver"));
con=DriverManager.getConnection(re.getString("url"),re.getString("name"),re.getString("password"));
}
catch (Exception ex) {
ex.printStackTrace();
}
return con;
}