SpringBoot配置JNDI数据源
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
作者 | Bruce.Chang.Lee
来源 | urlify.cn/jMFn2m
1、 数据源配置
1.1、%CATALINA_HOME%/conf/server.xml 配置全局资源
server.xml文件找到GlobalNamingResources节点,加入如下代码
  
    
    "Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
    "Container"
      driverClassName="com.mysql.cj.jdbc.Driver"
      maxIdle="10"
      maxTotal="10"
      maxWaitMillis="10000"
      url="jdbc:mysql://127.0.0.1:3306/vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"
      username="root"
      password="123456"
      type="javax.sql.DataSource"
      name="sharedGlobalDataSource" />
    
1.2、%CATALINA_HOME%/conf/server.xml 配置具体工程
server.xml文件找到Host节点,加入如下代码
      "webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        
        
        
        "org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
        "spring-boot-jndi" path="/spring-boot-jndi" reloadable="true" source="org.eclipse.jst.jee.server:spring-boot-jndi">
          "jdbc/DefaultDS" global="sharedGlobalDataSource" type="javax.sql.DataSource" />
          
        
2、构建Spring Boot工程
2.1、pom.xml配置
"http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.0.0 
  
    org.springframework.boot 
    spring-boot-starter-parent 
    2.3.7.RELEASE 
    
  
  com.cnblogs.javalouvre 
  spring-boot-jndi 
  0.0.1 
  
    
      org.apache.commons 
      commons-lang3 
    
    
      javax.servlet 
      javax.servlet-api 
      provided 
    
    
      org.springframework.boot 
      spring-boot-starter-web 
      
       
        
          org.springframework.boot 
          spring-boot-starter-tomcat 
        
      
    
    
      com.baomidou 
      mybatis-plus-boot-starter 
      3.4.1 
      
       
        
          com.zaxxer 
          HikariCP 
        
      
    
  
  
    
      
        org.springframework.boot 
        spring-boot-maven-plugin 
      
    
  
  
  war 
 
2.2、 src/application.yml系统参数配置
spring:
  datasource:
    jndi-name: java:comp/env/jdbc/DefaultDS
mybatis-plus:
  config-location: classpath:mybatis-config.xml
  mapper-locations: classpath:mapper/**/*.xml
  global-config:
    banner: false
2.3、src/mybatis-config.xml MyBatis相关配置
"1.0" encoding="UTF-8" ?>
"-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
  
    
    "cacheEnabled" value="true" />
    
    "useGeneratedKeys" value="true" />
    
    "defaultExecutorType" value="REUSE" />
    
    "logImpl" value="SLF4J" />
      
  
    
    "com.cnblogs.javalouvre.entity" />
   
2.4、启动类
2.4.1、启动类
package com.cnblogs.javalouvre;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
2.4.2、项目打成war包,需要继承org.springframework.boot.web.servlet.support.SpringBootServletInitializer类
package com.cnblogs.javalouvre;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(App.class);
    }
}
2.5、实体类
package com.cnblogs.javalouvre.entity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName(value = "t_knowledge")
public class Knowledge {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private String  name;
    private String  memo;
    private String  video;
    public Knowledge() {
    }
    public Knowledge(String name, String memo, String video) {
        this.name = name;
        this.memo = memo;
        this.video = video;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getMemo() {
        return memo;
    }
    public void setMemo(String memo) {
        this.memo = memo;
    }
    public String getVideo() {
        return video;
    }
    public void setVideo(String video) {
        this.video = video;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("memo", getMemo())
                .append("video", getVideo())
                .toString();
    }
}
2.6、Mapper类
package com.cnblogs.javalouvre.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cnblogs.javalouvre.entity.Knowledge;
@Mapper
public interface KnowledgeMapper extends BaseMapper {
}
 2.7、Service
2.7.1、接口
package com.cnblogs.javalouvre.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cnblogs.javalouvre.entity.Knowledge;
public interface IKnowledgeService extends IService {
}
 2.7.2、实现类
package com.cnblogs.javalouvre.service.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cnblogs.javalouvre.entity.Knowledge;
import com.cnblogs.javalouvre.mapper.KnowledgeMapper;
import com.cnblogs.javalouvre.service.IKnowledgeService;
@Service
public class KnowledgeServiceImpl extends ServiceImpl implements IKnowledgeService {
}
 3、项目目录结构
│  pom.xml
│
├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─cnblogs
│  │  │          └─javalouvre
│  │  │              │  App.java
│  │  │              │  ServletInitializer.java
│  │  │              │
│  │  │              ├─entity
│  │  │              │      Knowledge.java
│  │  │              │
│  │  │              ├─mapper
│  │  │              │      KnowledgeMapper.java
│  │  │              │
│  │  │              ├─service
│  │  │              │  │  IKnowledgeService.java
│  │  │              │  │
│  │  │              │  └─impl
│  │  │              │          KnowledgeServiceImpl.java
│  │  │              │
│  │  │              └─web
│  │  │                      IndexController.java
│  │  │
│  │  ├─resources
│  │  │  │  application.yml
│  │  │  │  mybatis-config.xml
│  │  │  │
│  │  │  └─mapper
│  └─test
│      ├─java
│      └─resources
粉丝福利:Java从入门到入土学习路线图
👇👇👇

👆长按上方微信二维码 2 秒 
感谢点赞支持下哈 
评论
