• 12-JNDI


    JNDI:Java Naming and Directory Interface 时 SUN 公司推出的一套规范,属于 JavaEE 技术之一。目的时模仿 windows 系统中的注册表

    一、准备工作

    1. 建立 maven 默认的 webapp 项目
    2. 建立主要文件夹,添加 jar 包
    3. 在 webapp 包下创建 META-INFO ,再在其下创建 context.xml

    1.pom.xml

        <!-- https://mvnrepository.com/artifact/org.mortbay.jetty/servlet-api -->
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>servlet-api</artifactId>
          <version>3.0.20100224</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/javax.servlet/jsp-api -->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
          <scope>provided</scope>
        </dependency>
    

    2.context.xml

    <?xml version="1.0" encoding="utf-8" ?>
    
    <!--
    name="jdbc/eesy_mybatis"                            数据源名称
    type="javax.sql.DataSource"                         数据源类型,要存储的对象类型
    auth="Container"                                    数据源提供者
    maxActive="20"                                      最大活动数,最大活动连接
    maxWait="10000"                                     最大等待时间(秒)
    maxIdle="5"                                         最大空闲数
    username="root"                                     用户名
    password="root"                                     密码
    driverClassName="com.mysql.jdbc.Driver"             驱动类
    url="jdbc:mysql://localhost:3306/eesy_mybatis"      连接 url 字符串
    -->
    
    
    <Context>
        <Resource
                name="jdbc/test"
                type="javax.sql.DataSource"
                auth="Container"
                maxActive="20"
                maxWait="10000"
                maxIdle="5"
                username="root"
                password="root"
                driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/test"
        />
    </Context>
    

    3.SqlMapConfig.xml 配置文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration  PUBLIC
            "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    <configuration>
        <properties resource="jdbcConfig.properties"/>
        
        <typeAliases>
            <package name="domain"/>
        </typeAliases>
        
        <environments default="mysql">
            <environment id="mysql">
                <transactionManager type="JDBC"/>
                <dataSource type="JNDI">
                    <property name="data_source" value="java:comp/env/jdbc/test"/>
                </dataSource>
            </environment>
        </environments>
    
        <mappers>
            <package name="dao"/>
        </mappers>
    </configuration>
    

    二、

    1.启动 tomcat 端口被占

    cmd:

    netstat -ano|findstr 1099

    taskkill -f -pid 3576

    编译时:经过 Tomcat server 服务器,会先翻译成java,在编译成class

    <%@ page import="java.io.InputStream" %>
    <%@ page import="org.apache.ibatis.io.Resources" %>
    <%@ page import="org.apache.ibatis.session.SqlSessionFactoryBuilder" %>
    <%@ page import="org.apache.ibatis.session.SqlSessionFactory" %>
    <%@ page import="org.apache.ibatis.session.SqlSession" %>
    <%@ page import="dao.IUserDao" %>
    <%@ page import="com.sun.org.apache.bcel.internal.generic.IUSHR" %>
    <%@ page import="java.util.List" %>
    <%@ page import="domain.User" %>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <html>
    <body>
    <h2>Hello World!</h2>
    <%
        InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        SqlSessionFactory factory=builder.build(in);
        SqlSession sqlSession=factory.openSession(true);
        IUserDao userDao=sqlSession.getMapper(IUserDao.class);
        List<User> users=userDao.findAll();
        for (User user:users){
            System.out.println("------------------------------");
            System.out.println(user);
        }
    %>
    </body>
    </html>
    
    
  • 相关阅读:
    System Verilog 片断
    如何避免covergroup中出现错误
    一种FPGA图像处理算法的快速验证方式
    什么才是一个feature to be test?
    我的第一份vPlan衍变路线
    思想误区解答:请专注于DUT的功能(全部为菜鸟个人总结不保证正确)
    谈谈验证中的SystemVerilog和CPP//转载
    ResourceBundleViewResolver
    springmvc json数据返回前台,中文乱码
    将字符串中间的某段长度替换成固定的值
  • 原文地址:https://www.cnblogs.com/zuiren/p/11406133.html
Copyright © 2020-2023  润新知