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的更多相关文章

  1. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  2. JDBC数据源(DataSource)数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用。

    JDBC数据源(DataSource)的简单实现   数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用. 2.数据源提供了一种简单获取数据库连接的方式,并能在内部通 ...

  3. .NET技术-2.0. 操作数据库-EF

    .NET技术-2.0. 操作数据库-EF 项目参见: EF安装配置 参见: https://www.cnblogs.com/1285026182YUAN/p/10772330.html https:/ ...

  4. ORACLE链接SQLSERVER数据库数据操作函数范例

    ORACLE链接SQLSERVER数据库数据操作函数范例 create or replace function FUN_NAME(LS_DJBH IN varchar2 ,LS_ITM varchar ...

  5. .NET技术-2.0. 操作数据库-Dapper

    .NET技术-2.0. 操作数据库-Dapper 项目参见: 1. 为什么选择Dapper 1) 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco seria ...

  6. java链接并操作数据库

    链接准备 MySQL数据库驱动(连接器).mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program File ...

  7. Android学习之基础知识九 — 数据存储(持久化技术)之使用LitePal操作数据库

    上一节学习了使用SQLiteDatabase来操作SQLite数据库的方法,接下来我们开始接触第一个开源库:LitePal.LitePal是一款开源的Android数据库框架,它采用了对象关系映射(O ...

  8. 使用vbScript 链接SQLserver数据库和基础操作

    使用vbs链接SQLserver数据库 数据库的创建.设计使用 management studio完成 1.本地链接数据库 set oCon = server.createObject("a ...

  9. python下对mysql数据库的链接操作

    参考网址: https://blog.csdn.net/guofeng93/article/details/53994112 https://blog.csdn.net/Chen_Eris/artic ...

随机推荐

  1. VUE项目 - IE报vuex requires a Promise polyfill in this browser问题解决

    第一步: 安装 babel-polyfill . babel-polyfill可以模拟ES6使用的环境,可以使用ES6的所有新方法 npm install --save babel-polyfill ...

  2. 【转】C# 调用 C++ 数据转换

    原文:https://www.cnblogs.com/82767136/articles/2517457.html 在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返 ...

  3. Flume学习总结

    Flume学习总结 flume是一个用来采集数据的软件,它可以从数据源采集数据到一个集中存放的地方. 最常用flume的数据采集场景是对日志的采集,不过,lume也可以用来采集其他的各种各样的数据,因 ...

  4. jsp中常用的标签

    jsp本质上就是一个servlet,只是tomcat会将其翻译成servlet,servlet本质上是一个类,那么jsp也是一个类.jsp中各种标签都会被tomcat翻译成各种基本的java代码 如果 ...

  5. IoC和DI的区别

    ------------------siwuxie095                                     IoC 和 DI 的区别         1.区别     (1)Io ...

  6. 最多有k个不同字符的最长子字符串 · Longest Substring with at Most k Distinct Characters(没提交)

    [抄题]: 给定一个字符串,找到最多有k个不同字符的最长子字符串.eg:eceba, k = 3, return eceb [暴力解法]: 时间分析: 空间分析: [思维问题]: 怎么想到两根指针的: ...

  7. C语言命令行处理

    一.简介 getopt()函数是一个标准库调用,可允许您使用直接的 while/switch 语句方便地逐个处理命令行参数和检测选项(带或不带附加的参数).与其类似的getopt_long()允许在几 ...

  8. CRC32加密算法原理

    [转]:https://blog.csdn.net/android_mnbvcxz/article/details/78902737

  9. qt学习(一) qt安装

    QT5现在安装已经方便了许多 相比QT4 可以一路点击到底 无需额外的太多的操作. http://download.qt.io/official_releases/ 下载 1 windows下可以选择 ...

  10. 转 Spring AOP @Before @Around @After 等 advice 的执行顺序

    转自:http://blog.csdn.net/rainbow702/article/details/52185827 情况一: 一个方法只被一个Aspect类拦截 正常情况:  异常情况:  情况二 ...