SpringBoot配置JNDI數(shù)據(jù)源
點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”
優(yōu)質(zhì)文章,第一時(shí)間送達(dá)
? 作者?|? Bruce.Chang.Lee
來源 |? urlify.cn/jMFn2m
76套java從入門到精通實(shí)戰(zhàn)課程分享
1、 數(shù)據(jù)源配置
1.1、%CATALINA_HOME%/conf/server.xml?配置全局資源
server.xml文件找到GlobalNamingResources節(jié)點(diǎn),加入如下代碼
??
????
????"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節(jié)點(diǎn),加入如下代碼
??????"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、構(gòu)建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系統(tǒng)參數(shù)配置
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相關(guān)配置
"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、啟動(dòng)類
2.4.1、啟動(dòng)類
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、項(xiàng)目打成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、實(shí)體類
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、實(shí)現(xiàn)類
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、項(xiàng)目目錄結(jié)構(gòu)
│??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從入門到入土學(xué)習(xí)路線圖
??????

??長按上方微信二維碼?2 秒
感謝點(diǎn)贊支持下哈?
評(píng)論
圖片
表情
