springboot+mybatis连接oracle并且使用thymeleaf模板引擎

这几天闭关修炼了一阵子,就是学习这个springboot框架,当然也只是刚刚入门,这个框架是以springMVC为基础的,必须对springMVC有一定的了解才能够了解掌握springboot,那么我们话不多说,直接进入正题。

1创建项目

直接new 一个Maven工程(当然这个的前提是在你的计算机里的maven环境以及maven库都已经准备就绪的情况,(maven库自己测试一般都是本地,公司开发的话一般都是在私服里面))

点击next

还是点击next

我们建立web项目,所以选择web项目点击next。(我上面是因为没有选中web,选中即可点击next)

这里面的值按照实际情况填入,就是maven项目里几个属性的值(这里我就以springboot为例),填写完成之后点击finish这样项目就创建成功了!

到这样项目报错,这里报错是很正常的,因为我们没有引入页面的jar包,那么我们现在去解决这个报错,之前我们在理论上都知道springboot是通过pom.xml这个文件来引入jar包的,那还等什么呢,来吧!

<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 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.springboot</groupId>
  <artifactId>springbootdemo</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  
  <name>springbootdemo</name>
    <description>springbootdemo</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.7</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Start: log4j2 -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            </dependency>
        <!-- End: log4j2 -->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
            <scope>runtime</scope>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.5</version>
        </dependency>

        <!--mybatis分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.1.0</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.18</version>
        </dependency>

        <!--过滤emoji字符-->
        <dependency>
            <groupId>com.vdurmont</groupId>
            <artifactId>emoji-java</artifactId>
            <version>3.2.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        
        <dependency>
			<groupId>net.sf.ehcache</groupId>
			<artifactId>ehcache</artifactId>
		</dependency>
		
		<!-- start 使用Jetty作为容器运行 -->
		<!-- <dependency>  
		    <groupId>org.springframework.boot</groupId>  
		    <artifactId>spring-boot-starter-web</artifactId>  
		    <exclusions>
	           <exclusion>
	             <groupId>org.springframework.boot</groupId>
	             <artifactId>spring-boot-starter-tomcat</artifactId>
	           </exclusion>
	        </exclusions> 
		</dependency>
		<dependency>  
		    <groupId>org.springframework.boot</groupId>  
		    <artifactId>spring-boot-starter-jetty</artifactId>  
		    <scope>provided</scope>
		</dependency> -->
        <!-- end 使用Jetty作为容器运行 -->
    </dependencies>

    <!--  普通的maven打包方式 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <!-- 普通的maven打包方式 -->
  
  
  
</project>

 然后跟新项目一下即可(右击项目>选中maven>点击updateProject>选中正在操作的项目>点击ok即可)

 注意:这时候的Java Resources 只有一个文件夹,所以我们需要再建一个文件夹

2项目编写

建立文件夹后如图所示

我们首先在java文件夹下建包,并且书写启动类以及控制层等等

如此我们的层数都分好了,

注意:这里的启动的所在层级一定要是他们其他所在的父级数,因为注解是从上往下自动扫描的,

这里还有我们的mapper文件没有配,配置mapper文件书写sql语句对数据库进行操作,那么必须有的一点就是首先得让程序连接上数据库;

在resources文件夹下建application.properties文件,注意:这里的文件名一定得是application.properties

 在application.properties文件里配置数据库的相关信息

spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.username=scott
spring.datasource.password=tiger
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver


并且同时在resources文件下新建一个文件夹用于存放mapper文件(这里就建一个叫mapper的文件夹)

此外,为了后面做准备,我们再新建两个文件夹分别叫static和templates用于存放页面和js等一些文件;

在application.properties配置页面路径以及mapper文件的路径

# thymeleaf
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.check-template-location=true
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false

mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.type-aliases-package=com.springboot.dao

 下面做一个简单的列子,从数据库中拿一张表,并将表中的信息显示的页面上

前台页面代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"></meta>
<title>Insert title here</title>

</head>
<body>
    <a th:href="@{'/test/selectEmp'}">查询emp</a>
</body> </html>
//注意:这是使用的thymeleaf模板,所以th:href="@{'/test/selectEmp'}"是服务器路径的写法
form表单中的action路径写法是:th:action="@{'/test/selectEmp'}"
控制层代码
@Controller
@RequestMapping("/test")
public class UploadAndDownloadController {

    

    
    @RequestMapping("/selectEmp")
    public String selectEmp(){
                    ...
                    ...
                    ...              
        return "";
    }
}        

中间层省略,和springMVC一样调用service的接口方法即可,同理,service层和dao的接口,model层以及mapper配置文件省略,同springMVC;

 
原文地址:https://www.cnblogs.com/1a2b/p/8986749.html