数据源连接数据库配置相关xml文件
学完数据源连接数据后,做个笔记,当我们的程序对数据库访问频繁时,为了提高程序运行效率,我们可以通过
数据源连接数据库,从数据库连接池中直接取得出于空闲状态的数据库连接对象,以下是相关xml文件的配置:
1、 定义数据源。
数据源是JNDI(Java Naming and Directory Interface)资源的一种,下面开始定义数据源
在对应的JavaWeb项目下的META-INF目录下创建一个context.xml文件,
以下为context.xml文件内容及各属性说明。
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Context>
3
4 <!-- 定义数据源-->
5
6 <!--
7 name:指定Resource的JNDI名字
8 auth:指定管理Resource的Manager,有两个可选值,Container表示由容器来创建和管理Resource
9 Application表示由Web应用来创建和管理Resource
10 type:指定Resource所属的Java类名
11
12 username:数据库用户名 password:连接数据库的口令
13 driverClassName:指定连接数据库的JDBC驱动器中的Driver实现类的名字
14 url:指定数据库的URL
15
16 注意:如果url中用到useSSL=true/false,则需要在所有的'&'后面加上"amp;"如下
17 -->
18 <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource"
19 username="root"
20 password="Cz123"
21 driverClassName="com.mysql.jdbc.Driver"
22 url="jdbc:mysql://localhost:3306/Books?characterEncoding=utf8&useSSL=true"/>
23
24 </Context>
1、 声明JNDI资源的引用
如果Web应用访问了由Servlet容器管理的某个JNDI资源,那么必须在web.xml文件中注册中声明对这个JNDI资源的引用。在项目下的WEB-INF目录下创建web.xml文件
内容及各属性说明如下:
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
6 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
7 version="3.1"
8 metadata-complete="true">
9
10 <display-name>Tomcat Manager Application</display-name>
11 <description>
12 A scriptable management web application for the Tomcat Web Server;
13 Manager lets you view, load/unload/etc particular web applications.
14 </description>
15
16 <!-- 声明引用数据源 -->
17 <!--
18 <res-ref-name>:指定所引用资源的JNDI名字,与定义的数据源的<Resource>元素中的name属性对应
19 <res-type>:指定所引用资源的类名字,与定义的数据源的<Resource>元素中的name属性对应
20 <res-auth>:指定管理所引用资源的Manager,与定义的数据源的<Resource>元素中的auth属性对应
21 -->
22 <resource-ref>
23 <description>DB Connection</description>
24 <res-ref-name>jdbc/BookDB</res-ref-name>
25 <res-type>javax.sql.DataSource</res-type>
26 <res-auth>Container</res-auth>
27 </resource-ref>
28
29 </web-app>
取得数据库连接:javax.naming.Context ctx = InitialContext(); //取得Context对象
//调用context对象的lookup方法,通过引用资源的name获得数据源对象
//因为笔者用的是Tomcat服务器,所有要在name前面加上java:comp/env(固定格式)
javax.sql.DataSource ds = ctx.lookup(“java:comp/env/jdbc/BookDB”);
//通过数据源,获得数据库连接对象
Connection con = ds.getConnection();
数据源连接数据库配置相关xml文件的更多相关文章
- 使用java代码动态配置与xml文件结合的方式使用mybatis-generator生成代码配置
1.使用java代码动态配置与xml文件结合的方式使用mybatis-generator生成代码配置 2.上代码:在resources目录下新建:generatorConfiguration.xml文 ...
- struts2——配置struts.xml文件
在struts2框架中struts.xml是应当放到src的根目录,程序编译后会将struts.xml放到WEB-INF/classes目录下. Struts2在web.xml中的一般配置如下: &l ...
- eclipse配置mybatis xml文件自动提示(转)
原文链接 原文如下: 如果使用eclipse中,再写mybatis的xml文件的时候,没有提示,用“Alt+/”,不能把代码用快捷键敲出来,可以试试下面要说的这种方法,反正我试了,我这个可以. 1.下 ...
- PHP配置数据库XML文件
<?php $doc=new DOMDocument('1.0','utf-8'); //new一个dom对象 $doc->load("config.xml"); 加载 ...
- 配置tomcat-users.xml文件
今天在学习登录日志保存时出现一系列错误,想查看浏览器后台的session,结果忘记怎么看用户名和密码了,下面是转载自民工也Coding的一篇文章, 文章链接为:http://www.cnblogs.c ...
- eclipse配置mybatis xml文件自动提示
如果使用eclipse中,再写mybatis的xml文件的时候,没有提示,用“Alt+/”,不能把代码用快捷键敲出来,通过下面这个方法,可以解决. 1.下载一个文件,找一个专门的地方保存,配置自动提示 ...
- 2.6 XML配置:XML文件节点说明
来源:http://blog.csdn.net/five3/article/details/25907693 TestNG的DTD检查文件:http://testng.org/testng-1.0.d ...
- 按照TomCat版本重新配置web.xml文件
在TomCat的目录:C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.2\webapps\ROOT\WEB-INF下的we ...
- java配置context.xml文件
2018-02-08 23:32:23 修改context.xml文件 自从学习了servlet后,每次修改里面的内容后,想要访问都要重启服务器,这样感觉很麻烦的,所以今天就教大家一个方法,只需要 ...
随机推荐
- python内存管理总结
之前在学习与工作中或多或少都遇到关于python内存管理的问题,现在将其梳理一下. python内存管理机制 第0层 操作系统提供的内存管理接口 c实现 第1层 基于第0层操作系统内存管理接口包装而成 ...
- C#中的数据结构
Array 连续性的内存空间 快速定位查找元素,随机访问性强,查找效率高 已知的统一的元素类型,减小运行时开销 固定长度,不能再新增元素 ArrayList 连续性的内存空间 快速定位查找元素,随机访 ...
- SpringBoot基础学习(三) 自定义配置、随机数设置及参数间引用
自定义配置 SpringBoot免除了项目中大部分手动配置,可以说,几乎所有的配置都可以写在全局配置文件application.peroperties中,SpringBoot会自动加载全局配置文件从而 ...
- IDEA2021.1 安装教程
工欲善其事必先利其器. 一.下载 IDEA 官方下载地址: https://www.jetbrains.com/zh-cn/idea/download/ 二.安装 IDEA 注:安装IDEA之前需要我 ...
- [leetcode] 38. 报数(Java)(字符串处理)
38. 报数 水题 class Solution { public String next(String num) { String ans = ""; int i = 0; wh ...
- docker部署node.js
1.dockerfile FROM node:14.16.0 RUN mkdir -p /var/log/lily/ RUN mkdir -p /opt/node # 工作目录 WORKDIR /op ...
- node.js学习(6)创建和删除目录
1 导入模块 fs 删除文件 # 同步 创建目录 删除目录 # 异步 创建目录
- 安装Keras出现的问题
先是pip install tensorflow 给装好了,但是pip install keras出现如下的问题: 只好搜帖子,参考如下的帖子,我直接 conda install keras wi ...
- i.MX6UL: i.MX 6UltraLite处理器 - 低功耗,安全,Arm® Cortex®-A7内核
i.MX6UL: i.MX 6UltraLite处理器 - 低功耗,安全,Arm Cortex-A7内核 概述 MX6UltraLite作为i.MX6系列的扩展,一系列高性能.超高效的处理器,采用先进 ...
- CUDA C 纹理提取Texture Fetching
CUDA C 纹理提取Texture Fetching 一.参数曲面的纹理 使用纹理指定参数曲面属性. 二.CUDA C 纹理获取开发 用于计算纹理函数,根据纹理引用的各种属性返回的值的公式(请参见 ...