关于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;
    }
}

原文地址:https://www.cnblogs.com/gu-bin/p/10251797.html