学习SpringBoot,通过Springboot简单配置连接Mysql数据库,采用Mybatis注解方式实现数据库“增、删、改、查”,结合Spring web实现页面呈现后,。
IDE及相关环境:Windows10 :Eclipse+Maven,Linux(Centos7):Mysql 7.5
1.Demo项目结构:
2.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>
<groupId>springboot</groupId>
<artifactId>springboot-mybatis-annotation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<!-- Spring Boot 启动父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<properties>
<mybatis-spring-boot>1.2.0</mybatis-spring-boot>
<mysql-connector>5.1.39</mysql-connector>
</properties>
<dependencies>
<!-- Spring Boot Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- Spring Boot Test 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot}</version>
</dependency>
<!-- MySQL 连接驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<!-- 分页插件依赖 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!-- <dependency> -->
<!-- <groupId>com.fasterxml.jackson.core</groupId> -->
<!-- <artifactId>jackson-databind</artifactId> -->
<!-- <version>2.9.0</version> -->
<!-- </dependency> -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.12.6.0</version>
</plugin>
</plugins>
</build>
</project>
此处说明一下lombok,主要是为了省略实体定义中的重复set、get定义方法,具体可百度相关资料不少。
3. Applicaiton.properties文件
spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx/database?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
// xxx.xxx.xxx.xxx/database 为mysql数据库所在地址及相应数据库(本文中mysql不在本机,在linux服务器中,因此需要IP地址)
server.port=8088 //配置tomcat端口(默认为8080,已被其他app占用)
spring.thymeleaf.cache=false //设置thymeleaf缓存机制(thymeleaf为快速开发web引擎模板,目前相关资料较少,后续考虑更换采用bootstrap编写前端)
xxx.xxx.xxx.xxx/database?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
// xxx.xxx.xxx.xxx/database 为mysql数据库所在地址及相应数据库(本文中mysql不在本机,在linux服务器中,因此需要IP地址)
server.port=8088 //配置tomcat端口(默认为8080,已被其他app占用)
spring.thymeleaf.cache=false //设置thymeleaf缓存机制(thymeleaf为快速开发web引擎模板,目前相关资料较少,后续考虑更换采用bootstrap编写前端)
4.实体类User
package com.test.user.entity;
import java.io.Serializable;
import java.sql.Date;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import lombok.Getter;
import lombok.Setter;
/**
* User实体类
*
*/
@Setter
@Getter
@JsonAutoDetect
public class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* UserID编号
*/
private String id;
/**
* UserName用户名称
*/
private String name;
/**
* UserBirth用户生日
*/
private Date birthday;
/**
* 描述
*/
private String description;
@Override
public String toString(){
return "User{"+
"id="+id+
",name="+name+
",birthday="+birthday+
",description="+description+"}";
}
编写User实体类,