一、导入依赖、pom.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dlz</groupId>
<artifactId>login</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>login</name>
<description>login Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>
<dependencies>
<!-- web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--http依赖-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.10</version>
</dependency>
<!--http依赖-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<!-- 整合mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 整合oracle,本地依赖配置-->
<!-- <dependency>-->
<!-- <groupId>com.oracle</groupId>-->
<!-- <artifactId>ojdbc6</artifactId>-->
<!-- <scope>system</scope>-->
<!-- <version>11.1.0.7.0</version>-->
<!-- <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ojdbc6-11.1.0.7.0.jar</systemPath>-->
<!-- </dependency>-->
<!-- 整合Oracle,oracle11g依赖-->
<dependency>
<groupId>cn.easyproject</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<!-- jar包依赖扩展打包路径,本地依赖-->
<!-- <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>-->
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.7.RELEASE</version>
<configuration>
<mainClass>com.login.dlz.LoginApplication</mainClass>
<!-- 本地jar包-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
二、application.yml配置
# 应用名称
spring:
application:
name: login
thymeleaf:
suffix: .html
prefix: classpath:/templates/
#数据源配置
datasource:
#下面的路径不能写成jdbc:oracle:thin:@127.0.0.1:1521/dengliangzhi,否则会报ora12514错误
url: jdbc:oracle:thin:@127.0.0.1:1521:dengliangzhi
driver-class-name: oracle.jdbc.driver.OracleDriver
username: sys as sysdba
password: root
server:
port: 8080
#mybatis配置
mybatis:
#注意,在创建mapper文件时,一定要注意文件名为xxxmapper.xml还是只是xxxmapper
#如果文件名为xxxmapper,就算该文件的格式为xml文件,配置为下面这样也是错误的
# mapper-locations: classpath:/mapper/*.xml
#将会报绑定异常。所以最佳的mapper文件地址配置的路径最好为下面这样:
mapper-locations: classpath:/mapper/*
三、配置thymeleaf注意事项
1.配置thymeleaf时容易出现模板找不到错误
1.1 此时要注意配置的路径,要保证配置的路径为模板存放的路径,如下:
thymeleaf:
suffix: .html
prefix: classpath:/templates/
1.2 如果路径没有问题,在java代码中要注意如下问题(java代码中的路径是否需要加斜杆需与配置中的路径相对应):
@RequestMapping("index")
public String index(){
//请求页面的两种情况:
// 1.返回值最前面的字符串想不带“/”斜杆,
// 如:return "helloword";
// 那么application.yml的thymeleaf配置为:
// thymeleaf.prefix= classpath:/templates/
// 2.如果application.yml的thymeleaf配置为:
// thymeleaf.prefix= classpath:/templates
// 即路径最后少配置了一根斜杆,那么表示页面的路径字符串最前面必须加一根斜杆,
// 如:return "/helloword";
return "helloword";
}
四、配置mybatis、oracle的注意事项
1.配置oracle的依赖要注意依赖是否可用,如果是依赖坐标无法解析,则是由于该依赖坐标是受版权保护的,在maven配置的镜像路径中(如阿里云的镜像路径)中没有,此时可用本文中的oracle依赖坐标,或者自己到网上下载可用的oracle数据库依赖的jar包,用配置本地依赖jar包的方式进行配置(配置方式在本文的pom.xml中有)。
2.mapper接口或dao接口的绑定异常:该原因一般是找不到对应的mapper.xml文件或找到mapper.xml文件了,但是mapper.xml文件中没有对应的方法。如下是我自己在配置项目的时候遇到的问题(我遇到的这个问题比较隐蔽):
#mybatis配置
mybatis:
#注意,在创建mapper文件时,一定要注意文件名为xxxmapper.xml还是只是xxxmapper
#如果文件名为xxxmapper,就算该文件在idea中显示的格式为xml文件,配置为下面这样也是错误的
# mapper-locations: classpath:/mapper/*.xml
#将会报绑定异常。所以最佳的mapper文件地址配置的路径最好为下面这样:
mapper-locations: classpath:/mapper/*
3.连接数据源时报ORA-12514错误,要注意application.yml文件中数据源的路径配置,如下:
spring:
#数据源配置
datasource:
#下面的路径不能写成:
#jdbc:oracle:thin:@127.0.0.1:1521/dengliangzhi
#否则会报ora12514错误
url: jdbc:oracle:thin:@127.0.0.1:1521:dengliangzhi
driver-class-name: oracle.jdbc.driver.OracleDriver
username: sys as sysdba
password: root
4.数据库字段与实体类pojo的映射,数据库表的字段名与pojo中的属性名的映射与大小写无关。如果字段中有下划线或者属性名中有下划线,则需使用resultmap
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.login.dlz.mapper.UserMapper">
<!-- 数据库表的字段名与pojo中的属性名的映射与大小写无关
<resultMap id="UserMap" type="com.login.dlz.pojo.User">
<id column="USERID" property="userid"/>
<result column="NAME" property="name"/>
<result column="PASSWORD" property="password"/>
</resultMap> -->
<select id="allUser" resultType="com.login.dlz.pojo.User">
select * from tableuser
</select>
</mapper>
五、配置本地依赖注意事项
1.一般本地依赖jar包放在该路径:webapp/WEB-INF/lib 下,否则有可能造成无法解析依赖的问题(idea创建的springboot项目没有webapp文件夹,创建方法可百度)。
2.若添加了本地依赖,在pom.xml中还要在build标签中添加如下内容:(如果还出现项目打包或者其它问题,请自行百度原因)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<!--jar包依赖扩展打包路径,本地依赖-->
<!-- <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>-->
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.7.RELEASE</version>
<configuration>
<mainClass>com.login.dlz.LoginApplication</mainClass>
<!--本地jar包-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>