idea+spring boot+maven+mybaties+oracle完整流程

网上好多关于spring boot的资料,但是完全符合自己需求的很少,这里分享一下使用
idea+spring boot+maven+mybaties+oracle构建web工程并且发布的完整流程。
环境:
jdk1.8
spring boot 2.1.7
idea 20170106

源码下载   https://download.csdn.net/download/qidaorenzhe/11847210

一,搭建框架

1,Create New Project

2,选择Spring Initialize,jdk1.8--->next

3,默认或者修Group,Artifact--->next

4,添加依赖,回头pom.xml文件中会自动导入需要的组件

4.1勾选Web-Spring Web Starter

4.2勾选SQl-JDBC API和MyBaties Framework

如果你用的mysql,可以加上MySQL Driver

4.3名称默认吧,设置代码路径--->Finish

4.4好了,框架形成了,看下他的模样

二,设置pom.xml,编写测试代码

结构如下

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.7.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.linkage.module</groupId>
	<artifactId>forothers</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>forothers</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.0</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>oracle.jdbc</groupId>
			<artifactId>oracle-jdbc</artifactId>
			<version>11.2.0.3.0</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>

		<!--以下配置可以帮助我们重新将mybaties的映射文件路径配置到合适的位置(默认在resources文件夹内,很不方便管理)-->
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.*</include>
				</includes>
			</resource>
		</resources>
	</build>

</project>

application.properties   

server.port=5055
spring.datasource.url=jdbc:oracle:thin:@XXX.XXX.XXX.XXX:XXX:ldims
spring.datasource.username=XXX
spring.datasource.password=XXX
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

mybatis.mapper-locations=classpath*:com/linkage/module/**/dao/mapper/*.xml

这个文件也可以用application.yml代替

server:
  port: 5055

spring:
    datasource:
        name: ldims
        url: jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:ldims
        username: XXX
        password: XXX
        driver-class-name: oracle.jdbc.driver.OracleDriver

mybatis:
  mapper-locations: classpath*:com/linkage/module/**/dao/mapper/*.xml

二者效果是一样的。前者看起来比较整齐,后者有缩进层次感,而且能减少重复代码,看个人喜好

MicroElecController.java

package com.linkage.module.microelec.controller;

import com.linkage.module.microelec.serv.MicroElecServ;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;


@RestController
public class MicroElecController
{

    @Autowired
    private MicroElecServ serv;

    @RequestMapping({"/microelec"})
    @ResponseBody
    public String microelec(@RequestParam(name="param", defaultValue="param") String param)
    {
        List<Map> result = this.serv.getAllUser();
        return "hello,"+param+",your data num is:"+result.size();
    }
}

MicroElecFO.java

package com.linkage.module.microelec.controller.fo;

public class MicroElecFO {

    private String acc_loginname;

    public String getAcc_loginname()
    {
        return this.acc_loginname;
    }

    public void setAcc_loginname(String acc_loginname) {
        this.acc_loginname = acc_loginname;
    }
}

MicroElecServ.java

package com.linkage.module.microelec.serv;

import com.linkage.module.microelec.dao.MicroElecDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;


@Service
public class MicroElecServ
{

    @Autowired
    private MicroElecDAO dao;

    public List<Map> getAllUser()
    {
        return this.dao.selectAll();
    }
}

MicroElecDAO.java

package com.linkage.module.microelec.dao;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;


@Component
@Mapper
public interface MicroElecDAO {
    public List<Map> selectAll();
}

MicroElecDAOMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.linkage.module.microelec.dao.MicroElecDAO">

    <select id="selectAll" resultType="HashMap">
        SELECT ACC_LOGINNAME "acc_loginname" FROM TAB_ACCOUNTS
    </select>
</mapper>
写好这些代码就可以本地调试了,我们启动ForothersApplication.java的main方法再用浏览器访问http://localhost:5055/microelec?param=Tom

三,发布到服务器

使用idea自己的打包工具,生成forothers-0.0.1-SNAPSHOT.jar,位于项目的target文件夹内

上传到服务器,这里已经安装好了jdk1.8

直接使用指定的jdk执行这个jar包

nohup /export/home/workbentch/jdk1.8.0_202/bin/java  -jar forothers-0.0.1-SNAPSHOT.jar  &

访问http://IP:5055/microelec?param=Tom

控制台日志在jar包同目录的nohup.out里面

完成,done!!

发布了17 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qidaorenzhe/article/details/98943664