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;

     
  • 相关阅读:
    Element.scrollIntoView()
    dot.js
    微信小程序页面跳转导航wx.navigateTo和wx.redirectTo
    小程序swiper 滑块视图容器
    小程序表单提交
    自适应宽度圆角导航如何实现
    PC端和移动端一些奇葩兼容性问题
    如何实现两行内容增多和一行内容增多,多余的内容显示省略号
    表单提交判断,数据只能提交一次判断
    改变CSS世界纵横规则的writing-mode属性
  • 原文地址:https://www.cnblogs.com/1a2b/p/8986749.html
Copyright © 2011-2022 走看看