Spring Boot入门以及整合Mybatis

一、快速启动入门

Spring Boot 2.0.2.RELEASE需要Java 8或9以及maven需要3.2以上版本
(1).maven项目的pom.xml添加如下依赖

	<!-- 继承Spring boot父类依赖 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.2.RELEASE</version>
	</parent>

	<dependencies>
	    <!-- 添加Spring Boot web应用程序的依赖,版本自动与继承父类版本统一  -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

加入依赖后,我的可能因为网络原因导致jar包下载错误,如项目左上角有感叹号,“Window—>Show View–>Other–>搜索Problems–>Open”,查看错误原因,如下图
在这里插入图片描述
将下载到本地库中jar包删除,右键项目maven–>Update Project重新下载即可。
(2).resourses目录下创建文件名为"application"的配置文件,后缀可以是properties或yml.
properties后缀配置格式:

server.port=80 #设置启动端口

yml后缀配置格式(注意::后必须有个空格,每个层级必须有两个tab键空格,否则无效):

server: 
    port: 80  #设置启动端口

(3).创建类
控制器类

package com.mi.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HrEntryMainController {

	@RequestMapping("/hello")
	public String Hello() {
		return "Hello World!";
	}
	
}

启动类

package com.mi;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApplicationTest {
	
	public static void main(String[] args) {
		SpringApplication.run(ApplicationTest.class, args);
	}

}

(4).运行启动类,出现下图即启动成功,浏览器输入"localhost/hello"访问。
在这里插入图片描述
在这里插入图片描述
后续Spring Boot的更高版本,没有了Jackson相关包,在测试接口时返回JSON格式对象时,提示报错信息:org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class com.*.*.*,需要添加如下Jackson依赖

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.5</version>
        </dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.5</version>
        </dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.5</version>
        </dependency>

简化部署
	<!-- 这个插件,可以将应用打包成一个可执行的jar包 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!-- 指定SpringBoot启动类 -->
					<mainClass>com.mi.ApplicationTest</mainClass>
				</configuration>
			</plugin>
		</plugins>
	</build>

将这个应用打成jar包,cmd进入jar包目录下,直接使用java -jar jar包名的命令进行执行。

热部署

开发者开发过程中,会频繁的改动代码,代码修改后又需重新启动才能使用,热部署则无需重新启动即可使用改动后的代码

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>

二、整合Mybatis

(1).添加Mybatis整合Spring boot依赖

		<dependency>
		    <groupId>org.mybatis.spring.boot</groupId>
		    <artifactId>mybatis-spring-boot-starter</artifactId>
		    <version>1.3.2</version>
		</dependency>

(2).添加嵌入式数据库支持,可以使用spring-boot-starter-jdbc或spring-boot-starter-data-jpa依赖,jpa支持HQL查询,将自动获得依赖"HikariCP"

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

(3).添加数据库驱动jar包,版本自行选择
添加Mysql驱动包依赖:

		<dependency>
		    <groupId>mysql</groupId>
		    <artifactId>mysql-connector-java</artifactId>
		    <version>5.1.45</version>
		</dependency>

或添加oracle驱动包依赖,可能由于oracle授权问题,maven不提供oracle的驱动包,官网下载网址:
https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html
本地oracle的版本可以通过:"SELECT * FROM v$version;",将驱动包安装到本地maven仓库中,cmd命令行提示符执行如下命令:

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4.0 -Dpackaging=jar -Dfile=本地路径\ojdbc6.jar

****注意DartifactId和Dversion与使用的jar版本一致****
出现"BUILD SUCCESS"即安装成功,项目再引入oracle依赖即可

		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.4.0</version>
		</dependency>

(4)以yml为例,application.yml配置文件中添加配置:

spring: 
    datasource: 
        url: jdbc:oracle:thin:@localhost:1521:Test
        username: ****
        password: ****
        driver-class-name: oracle.jdbc.driver.OracleDriver

(5).mapper层

添加的是spring-boot-starter-jdbc依赖,使用如下:
① mapper类上添加@org.apache.ibatis.annotations.Mapper注解。
② .xml映射文件与mapper类在同一包下 或 在resources目录新建一个mapper文件夹放置.xml文件,application.yml文件配置.xml文件位置如下:

mybatis:
    mapperLocations: classpath:mapper/*Mapper.xml

注意:"IDEA开发工具中,.xml文件与mapper类在同一包下,不指定xml位置的是找不到的"
③ 下一步即是Sql语句的编写。

添加的是spring-boot-starter-data-jpa依赖,使用如下:
① mapper类需继承org.springframework.data.repository.CrudRepository类,实现了大量的增删改查方法,需指定泛型T为实体类型,ID为主键类型。
② mapper类添加@org.springframework.stereotype.Repository注解。
③ 接口的方法上添加@org.springframework.data.jpa.repository.Query编写jpql语句,方法参数需添加@org.springframework.data.repository.query.Param注解指定参数名。

语法格式:from 实体类名 where 属性名=:参数名

如果希望使用原生sql,只需要@Query(nativeQuery=true)标识即可.
④实体类上添加@javax.persistence.Entity和@javax.persistence.Table注解,Table注解name的值指定表名,实体类的属性添加@javax.persistence.Column,name的值指定表中的字段,主键额外添加@javax.persistence.Id注解。注解做好了实体类与数据表的对应,就无需繁杂的xml文件。
注:SpringDataJPA还有很多强大的功能,比如通过解析方法名创建查询等,可以参考这位博主关于jpa增删改查以及解析方法名创建查询的文章:https://blog.csdn.net/u012706811/article/details/53218083

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值