JNDI连接数据库
来源:互联网 发布:多比软件 编辑:程序博客网 时间:2024/05/17 07:05
两种方式:
1、不启动任务服务器
2、使用服务器(tomcat/jboss等)
1、不启动任务服务器
private static void initJndi(){
try {System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory"); //需要naming-java包
System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");//需要naming-common包
InitialContext ic = new InitialContext();
ic.createSubcontext("java:");
ic.createSubcontext("java:comp");
ic.createSubcontext("java:comp/env");
ic.createSubcontext("java:comp/env/jdbc");
MysqlConnectionPoolDataSource ds = new MysqlConnectionPoolDataSource();
ds.setURL("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8");
ds.setUser("root");
ds.setPassword("pass");
ic.bind("java:comp/env/jdbc/mysql", ds);
Object obj=ic.lookup("java:comp/env/jdbc/mysql");//obj就是保存到ic中的ds
System.out.println("ss");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
<!-- https://mvnrepository.com/artifact/tomcat/naming-common -->
<!-- <dependency>
<groupId>tomcat</groupId>
<artifactId>naming-common</artifactId>
<version>5.0.28</version>
<scope>test</scope>
</dependency> -->
<!-- https://mvnrepository.com/artifact/tomcat/naming-Java -->
<!-- <dependency>
<groupId>tomcat</groupId>
<artifactId>naming-java</artifactId>
<version>5.0.28</version>
</dependency>
-->
/**
*获取数据库连接 databaseName="jdbc/mysql"
*/
private static synchronized Connection getContextConnection()throws NamingException, SQLException {
Connection con = null;
if (ds == null) {
InitialContext ctx = null;
ctx = new InitialContext();
Context envCtx = (Context) ctx.lookup("java:comp/env");
if (databaseName == null || databaseName.trim().equals("")) {
return null;
}
ds = (DataSource) envCtx.lookup(databaseName);
}
if (ds != null)
con = ds.getConnection();
return con;
}
优点:测试方便。
2、启动服务器(tomcat加载)
2.1、第一种:全局配置。
1)在tomcat的conf文件夹下的context.xml配置文件中加入:
- <Resource name="jdbc/mysql"
- auth="Container"
- type="javax.sql.DataSource"
- driverClassName="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/appdb"
- username="root"
- password="123456"
- maxActive="20"
- maxIdle="10"
- maxWait="10000"/>
<jee:jndi-lookup id="dataSource" jndi-name="${jndi_jdbc}" resource-ref="true" />//jndi_jdbc="jdbc/mysql"
2.2、局部配置:在项目中添加一个xml配置文件,配置jndi/mybatis
- Ibatis+JNDI连接数据库
- jndi 连接数据库
- JNDI连接SQL数据库
- jndi连接数据库
- JNDI连接数据库
- JNDI连接数据库
- 使用JNDI 连接数据库
- JNDI连接数据库
- JNDI 连接数据库
- JNDI连接数据库
- 用JNDI连接数据库
- JNDI连接数据库
- 使用JNDI连接数据库
- JNDI连接数据库
- jndi连接数据库
- 使用JNDI连接数据库
- JNDI连接数据库
- 用JNDI连接数据库
- 行业APP、微信小程序公众号、餐饮汽车商城互联网创业解决方案
- Android 性能分析之TraceView使用(应用耗时分析)
- 《reinforcement learning:an introduction》第八章《Planning and Learning with Tabular Methods》总结
- Ubuntu使用Eclipse搭建C/C++编译环境
- 实现从右向左拉抽屉的功能
- JNDI连接数据库
- Java NIO系列(二) Channel
- 使用SSH中, service层直接调用service层还是dao层,哪个更合理?
- codeforces 777B Game of Credit Cards (贪心)
- 学习进程----随时更新
- 字蛛(FontSpider,中文字体压缩器)网页自由引入中文字体
- 关于微信小程序接受后台json数据汉字变成问号
- Phoenix for 3dsmax 笔记
- 凸包 (旋转卡壳)