zoukankan      html  css  js  c++  java
  • 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;

     
  • 相关阅读:
    LeetCode 252. Meeting Rooms
    LeetCode 161. One Edit Distance
    LeetCode 156. Binary Tree Upside Down
    LeetCode 173. Binary Search Tree Iterator
    LeetCode 285. Inorder Successor in BST
    LeetCode 305. Number of Islands II
    LeetCode 272. Closest Binary Search Tree Value II
    LeetCode 270. Closest Binary Search Tree Value
    LeetCode 329. Longest Increasing Path in a Matrix
    LintCode Subtree
  • 原文地址:https://www.cnblogs.com/1a2b/p/8986749.html
Copyright © 2011-2022 走看看