目录
JNDI的全称是Java Naming and Directory Interface。是 SUN 公司推出的一套规范,属于 JavaEE 技术之 一。目的是模仿 windows 系统中的注册表,在服务器中注册数据源。
搭建JNDI的maven环境
1. 创建一个maven的webapp工程
默认创建的文件夹是缺少几个的,我们创建补全:
并且通过右键
的Mark Directory as
把它们设置成为相对应的文件夹,如下图中文字所示:
2. 导入坐标
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
3. 在 webapp 文件下创建 META-INF 目录
4. 在 META-INF 目录中建立一个名为 context.xml 的配置文件
其中的内容:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!--
<Resource
name="jdbc/mybatisdemo" 数据源的名称
type="javax.sql.DataSource" 数据源类型
auth="Container" 数据源提供者
maxActive="20" 最大活动数
maxWait="10000" 最大等待时间
maxIdle="5" 最大空闲数
username="root" 用户名
password="1234" 密码
driverClassName="com.mysql.jdbc.Driver" 驱动类
url="jdbc:mysql://localhost:3306/eesy_mybatis" 连接url字符串
/>
-->
<Resource
name="jdbc/mybatisdemo"
type="javax.sql.DataSource"
auth="Container"
maxActive="20"
maxWait="10000"
maxIdle="5"
username="root"
password="1234"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/databasemybatis"
/>
</Context>
5. 修改 SqlMapConfig.xml 中的配置
SqlMapConfig.xml 中使用的数据源,我们就可以换成我们上面定义的jdbc/mybatisdemo
了。
也就是:
<!--配置连接池-->
<dataSource type="JNDI">
<property name="data_source" value="java:comp/env/jdbc/mybatisdemo"/>
</dataSource>