该文为需要搭建SpringWeb项目学习的同学提供参考,其中会包括以下功能
1.使用Idea搭建SpringWeb项目初始环境
2.加入访问Html页面和静态资源
3.返回动态的Html页面处理
4.断言异常拦截处理以及自定义增加请求参数
5.引入logback日志记录(日志记录形式后期会有优化,具体优化会再贴一个模块)
6.数据库查询配置文件准备以及查询实现
git下载地址:点我下载
因为一篇文章会显得文章比较长,所以进行拆分讲解
因为本人使用的是Oracle,所以数据库驱动选择的也是Oracle,如果是Mysql的同学需要改成Mysql合适驱动
com.oracle
ojdbc6
11.2.0.3
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
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时,规避编译器会有红线检测异常,检测异常如下图
在application.yml配置数据库驱动和Mybatis解析映射
# 数据源、视图配置
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).
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();
}
}
注意:启动类ProjectApplication中加扫描dao层注解 @MapperScan(basePackages = {“com.mon.project.**.dao”}),
否则启动就会报错找不到对应Controller中注入的dao,注意中间也有两个 **,这里扫描的也只关心com.mon.project中的以dao命名结尾的文件
http://localhost:10001/welcomeDB/getWelcomeDB
访问http://localhost:10001/welcomeDB/findOperator
有几个注意点虽然文章里面有提到,但是因为中重要程度比较高,所以在最后在统一重复一下
因为一篇文章写完会太长,所以分为四篇文章进行拆分,其他知识点请看
1.使用Idea搭建SpringWeb项目初始环境
2.加入访问Html页面和静态资源
3.返回动态的Html页面处理
4.断言异常拦截处理以及自定义增加请求参数
5.引入logback日志记录(日志记录形式后期会有优化,具体优化会再贴一个模块)
6.数据库查询配置文件准备以及查询实现