关于JNDI技术链接操作数据库-2019.1.10
Java 命名与目录接口(Java Naming and Directory Interface)
==需要使用的包为java.sql&javax.naming包==Mysql
步骤:
1.配置tomcat的中的context.xml文件
2.配置web.xml
3.添加数据库驱动文件 放在tomcat中的lib文件中
4.进行代码编写,实现查找数据源
1.修改Tomcat/conf/context.xml文件
<!-- 下面是配置JNDI的配置文件 如果需要 请设置name 的是值 -->
<Resource
name="myschool"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxldle="100"
maxWait="-1"
username="root"
password="cjx"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/myschool"
/>
<!-- 结束 -->
2.添加数据库驱动文件
把数据库驱动的.jar文件,加入到Tomcat的lib中
3.在应用层配置web.xml文件
<!-- 配置web.xml的文件 用于配置Jndi -->
<resource-ref>
<res-ref-name>myschool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- 结束 -->
4.访问数据源
package com.bin.jndi;
import java.sql.*;
import java.util.*;
import javax.sql.*;
import javax.naming.*;
public class Base_Dao {
public Connection getConnection() throws Exception {//调用此方法返回一个链接对象
//获取数据源对象
Context ctx = new InitialContext();
//得到数据源对象
DataSource ds = (DataSource)ctx.lookup("java:comp/env/myschool");
//得到Connextion链接对象
Connection con = ds.getConnection();
//返回数据
return con;
}
public ArrayList<String> set_s()throws Exception {
ArrayList<String> list = new ArrayList<String>();
//获取Connection链接
Base_Dao base = new Base_Dao();
Connection con = base.getConnection();
System.out.println(con);
//编写sql语句
String sql = "select * from student";
//通过链接得到执行者对象
PreparedStatement pa = con.prepareStatement(sql);
ResultSet res = pa.executeQuery();
//遍历这个结果集
while(res.next()) {
list.add(res.getString("StudentNo"));
}
return list;
}
}
关于JNDI技术链接操作数据库-2019.1.10的更多相关文章
- Tomcat通过JNDI方式链接MySql数据库
原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...
- JDBC数据源(DataSource)数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用。
JDBC数据源(DataSource)的简单实现 数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用. 2.数据源提供了一种简单获取数据库连接的方式,并能在内部通 ...
- .NET技术-2.0. 操作数据库-EF
.NET技术-2.0. 操作数据库-EF 项目参见: EF安装配置 参见: https://www.cnblogs.com/1285026182YUAN/p/10772330.html https:/ ...
- ORACLE链接SQLSERVER数据库数据操作函数范例
ORACLE链接SQLSERVER数据库数据操作函数范例 create or replace function FUN_NAME(LS_DJBH IN varchar2 ,LS_ITM varchar ...
- .NET技术-2.0. 操作数据库-Dapper
.NET技术-2.0. 操作数据库-Dapper 项目参见: 1. 为什么选择Dapper 1) 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco seria ...
- java链接并操作数据库
链接准备 MySQL数据库驱动(连接器).mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program File ...
- Android学习之基础知识九 — 数据存储(持久化技术)之使用LitePal操作数据库
上一节学习了使用SQLiteDatabase来操作SQLite数据库的方法,接下来我们开始接触第一个开源库:LitePal.LitePal是一款开源的Android数据库框架,它采用了对象关系映射(O ...
- 使用vbScript 链接SQLserver数据库和基础操作
使用vbs链接SQLserver数据库 数据库的创建.设计使用 management studio完成 1.本地链接数据库 set oCon = server.createObject("a ...
- python下对mysql数据库的链接操作
参考网址: https://blog.csdn.net/guofeng93/article/details/53994112 https://blog.csdn.net/Chen_Eris/artic ...
随机推荐
- VUE项目 - IE报vuex requires a Promise polyfill in this browser问题解决
第一步: 安装 babel-polyfill . babel-polyfill可以模拟ES6使用的环境,可以使用ES6的所有新方法 npm install --save babel-polyfill ...
- 【转】C# 调用 C++ 数据转换
原文:https://www.cnblogs.com/82767136/articles/2517457.html 在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返 ...
- Flume学习总结
Flume学习总结 flume是一个用来采集数据的软件,它可以从数据源采集数据到一个集中存放的地方. 最常用flume的数据采集场景是对日志的采集,不过,lume也可以用来采集其他的各种各样的数据,因 ...
- jsp中常用的标签
jsp本质上就是一个servlet,只是tomcat会将其翻译成servlet,servlet本质上是一个类,那么jsp也是一个类.jsp中各种标签都会被tomcat翻译成各种基本的java代码 如果 ...
- IoC和DI的区别
------------------siwuxie095 IoC 和 DI 的区别 1.区别 (1)Io ...
- 最多有k个不同字符的最长子字符串 · Longest Substring with at Most k Distinct Characters(没提交)
[抄题]: 给定一个字符串,找到最多有k个不同字符的最长子字符串.eg:eceba, k = 3, return eceb [暴力解法]: 时间分析: 空间分析: [思维问题]: 怎么想到两根指针的: ...
- C语言命令行处理
一.简介 getopt()函数是一个标准库调用,可允许您使用直接的 while/switch 语句方便地逐个处理命令行参数和检测选项(带或不带附加的参数).与其类似的getopt_long()允许在几 ...
- CRC32加密算法原理
[转]:https://blog.csdn.net/android_mnbvcxz/article/details/78902737
- qt学习(一) qt安装
QT5现在安装已经方便了许多 相比QT4 可以一路点击到底 无需额外的太多的操作. http://download.qt.io/official_releases/ 下载 1 windows下可以选择 ...
- 转 Spring AOP @Before @Around @After 等 advice 的执行顺序
转自:http://blog.csdn.net/rainbow702/article/details/52185827 情况一: 一个方法只被一个Aspect类拦截 正常情况: 异常情况: 情况二 ...