springboot+mybatis鏈接oracle而且使用thymeleaf模板引擎

這幾天閉關修煉了一陣子,就是學習這個springboot框架,固然也只是剛剛入門,這個框架是以springMVC爲基礎的,必須對springMVC有必定的瞭解纔可以瞭解掌握springboot,那麼咱們話很少說,直接進入正題。html

1建立項目

直接new 一個Maven工程(固然這個的前提是在你的計算機裏的maven環境以及maven庫都已經準備就緒的狀況,(maven庫本身測試通常都是本地,公司開發的話通常都是在私服裏面))java

點擊nextgit

仍是點擊nextgithub

咱們創建web項目,因此選擇web項目點擊next。(我上面是由於沒有選中web,選中便可點擊next)web

 

這裏面的值按照實際狀況填入,就是maven項目裏幾個屬性的值(這裏我就以springboot爲例),填寫完成以後點擊finish這樣項目就建立成功了!spring

到這樣項目報錯,這裏報錯是很正常的,由於咱們沒有引入頁面的jar包,那麼咱們如今去解決這個報錯,以前咱們在理論上都知道springboot是經過pom.xml這個文件來引入jar包的,那還等什麼呢,來吧!sql

<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 只有一個文件夾,因此咱們須要再建一個文件夾apache

2項目編寫

創建文件夾後如圖所示api

咱們首先在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;

相關文章
相關標籤/搜索