搭建可以访问数据库的SpringWeb项目 四

摘要:

该文为需要搭建SpringWeb项目学习的同学提供参考,其中会包括以下功能
1.使用Idea搭建SpringWeb项目初始环境
2.加入访问Html页面和静态资源
3.返回动态的Html页面处理
4.断言异常拦截处理以及自定义增加请求参数
5.引入logback日志记录(日志记录形式后期会有优化,具体优化会再贴一个模块)
6.数据库查询配置文件准备以及查询实现

git下载地址:点我下载

因为一篇文章会显得文章比较长,所以进行拆分讲解

6.数据库查询配置文件准备以及查询实现

6.1引入数据库查询依赖

因为本人使用的是Oracle,所以数据库驱动选择的也是Oracle,如果是Mysql的同学需要改成Mysql合适驱动


		
			com.oracle
			ojdbc6
			11.2.0.3
		
		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			1.3.0
		

6.2新增查询数据库dao层和放置mapper映射xml文件夹如下

搭建可以访问数据库的SpringWeb项目 四_第1张图片

package com.mon.project.model.welcomeDBDemo.dao;

import org.springframework.stereotype.Repository;

@Repository
public interface WelcomeDBDao {

    public int findWelcomeDB();
	public Operator findOperator();
}

注意:这里的Dao层中的 @Repository注解对于dao层到xml的映射没有实质性帮助,即使不要,启动之后也不会报错找不到dao,但是这里加上是为了解决Dao注入Controller时,规避编译器会有红线检测异常,检测异常如下图

6.3数据库查询配置文件准备

在application.yml配置数据库驱动和Mybatis解析映射
搭建可以访问数据库的SpringWeb项目 四_第2张图片

# 数据源、视图配置

spring:
  datasource:
    name: oracle
    continue-on-error: true
    driver-class-name: oracle.jdbc.OracleDriver
    url: jdbc:oracle:thin:@localhost:1521:XE
    username: system
    password: 1234
    ConnectionTestQuery: SELECT 1
    #连接池的配置信息
    initialSize: 10
    minIdle: 10
    maxActive: 100
    maxWait: 60000

    
    # mybatis XML映射配置
    mybatis:
      config-locations: mybatis/mybatis-config.xml
      mapper-locations: classpath*:/mapper/**/*.xml
      type-aliases-package: com.mon.project.model.*.vo

注意:mapper-locations的配置为 /mapper/**/*.xml, 中间有两个 *代表中间可以有任意层文件夹折叠,这边关心的只有最后叫.xml的文件,这里的driver-class-name: oracle.jdbc.OracleDriver要配置为这个,否则会有各种意想不到的问题,比如会报下面这个错误

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

6.4新增WelcomeDBDao.xml

这里用select 1 from dual登陆数据库即可
搭建可以访问数据库的SpringWeb项目 四_第3张图片






    


    


6.5新增WelcomeDBController

 package com.mon.project.model.welcomeDBDemo.contoller;

import com.mon.project.model.welcomeDBDemo.dao.WelcomeDBDao;
import com.mon.project.model.welcomeDBDemo.vo.Operator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/welcomeDB")
public class WelcomeDBController {
    @Autowired
    WelcomeDBDao welcomeDBDao;

    @RequestMapping(value = "/getWelcomeDB",method = RequestMethod.GET)
    public int getWelcomeDB(){
        return welcomeDBDao.findWelcomeDB();
    }

    @RequestMapping(value = "/findOperator",method = RequestMethod.GET)
    public Operator findOperator(){
        return welcomeDBDao.findOperator();
    }

}

搭建可以访问数据库的SpringWeb项目 四_第4张图片

6.6启动类ProjectApplication中加扫描dao层注解

注意:启动类ProjectApplication中加扫描dao层注解 @MapperScan(basePackages = {“com.mon.project.**.dao”}),
否则启动就会报错找不到对应Controller中注入的dao,注意中间也有两个 **,这里扫描的也只关心com.mon.project中的以dao命名结尾的文件
搭建可以访问数据库的SpringWeb项目 四_第5张图片

6.7启动ProjectApplication访问页面

http://localhost:10001/welcomeDB/getWelcomeDB
搭建可以访问数据库的SpringWeb项目 四_第6张图片
访问http://localhost:10001/welcomeDB/findOperator
搭建可以访问数据库的SpringWeb项目 四_第7张图片

6.7总结

有几个注意点虽然文章里面有提到,但是因为中重要程度比较高,所以在最后在统一重复一下

  1. Dao层中的 @Repository注解对于dao层到xml的映射没有实质性帮助,即使不要,启动之后也不会报错找不到dao,但是这里加上是为了解决Dao注入Controller时,规避编译器会有红线检测异常
  2. mapper-locations的配置为 /mapper/**/*.xml, 中间有两个 *代表中间可以有任意层文件夹折叠,这边关心的只有最后叫.xml的文件,这里的driver-class-name: oracle.jdbc.OracleDriver要配置为这个,否则会有各种意想不到的问题,比如会报需要引入H2驱动
  3. 启动类ProjectApplication中加扫描dao层注解 @MapperScan(basePackages = {“com.mon.project.**.dao”}),
    否则启动就会报错找不到对应Controller中注入的dao,注意中间也有两个 **,这里扫描的也只关心com.mon.project中的以dao命名结尾的文件

以上知识点完成的项目层级结构如下:
搭建可以访问数据库的SpringWeb项目 四_第8张图片
git提交记录:
搭建可以访问数据库的SpringWeb项目 四_第9张图片

到此,搭建可以访问数据库的SpringWeb项目暂时告一段落,如果想了解其他知识点可以点击以下文章

因为一篇文章写完会太长,所以分为四篇文章进行拆分,其他知识点请看
1.使用Idea搭建SpringWeb项目初始环境
2.加入访问Html页面和静态资源
3.返回动态的Html页面处理
4.断言异常拦截处理以及自定义增加请求参数
5.引入logback日志记录(日志记录形式后期会有优化,具体优化会再贴一个模块)
6.数据库查询配置文件准备以及查询实现

你可能感兴趣的:(SpringWeb)