Home JNDI方式创建数据源连接
Post
Cancel

JNDI方式创建数据源连接

以JNDI方式创建数据源首先要配置数据源的相关连接信息,该配置在Tomcat安装目录下的conf/context.xml文件中

1
2
3
4
5
6
7
8
9
10
11
12
<Context>
   <Resource  name="jdbc/NutzDemo" 
              auth="Container"
              type="javax.sql.DataSource"
              maxActive="100" 
              maxIdle="30"
              maxWait="10000"
              username="root" 
              password="root"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/cheng" />
</Context>

在项目的web.xml中引入数据源

1
2
3
4
5
<resource-ref>
  <res-ref-name>jdbc/NutzDemo</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

获取数据库连接以进行相应的操作

1
2
3
4
5
6
7
8
9
10
// 初始化JNDI上下文,创建DataSource对象
Context initContext = new InitialContext();
Context context = (Context) initContext.lookup("java:comp/env");
DataSource dataSource = (DataSource) context.lookup("jdbc/NutzDemo");
Connection conn = dataSource.getConnection();
PreparedStatement ps = conn.prepareStatement("select * from t_role");
ResultSet rs = ps.executeQuery();
System.out.println(rs.next());
rs.close();
conn.close();

或者整合到Spring,在Spring的配置文件中添加如下代码

1
2
3
<bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName" value="java:comp/env/jdbc/NutzDemor" /> 
</bean>
This post is licensed under CC BY 4.0 by the author.