做网站需要买ip地址吗,门户网站建设公司方案,企业展厅装修,建立一个公司网站在本文中#xff0c;我将向您展示如何将MySQL数据库与Spring Boot应用程序连接。 本文使用的工具包括#xff1a; Spring Boot 1.5.6版本 MySQL 5.7.X 马文 Java 8 Spring Data JPA 1 –项目结构 项目结构是典型的Maven结构。 2 –项目依赖性 请注意#xff0c;父母… 在本文中我将向您展示如何将MySQL数据库与Spring Boot应用程序连接。 本文使用的工具包括 Spring Boot 1.5.6版本 MySQL 5.7.X 马文 Java 8 Spring Data JPA 1 –项目结构 项目结构是典型的Maven结构。 2 –项目依赖性 请注意父母需要申报。 如果您使用的是Spring Tool Suite则可以单击新的“ Spring Starter Project”它将为您填充。 pom.xml ?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.michaelcgood/groupIdartifactIdmysql-jdbc/artifactIdversion0.0.1-SNAPSHOT/versionpackagingjar/packagingnamemysql-jdbc-driver/namedescriptionmysql jdbc driver example/descriptionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.5.6.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project3 –模型 对于此示例应用程序我们的应用程序将“跟踪”网络中系统的最新安全审核。 由于此示例应用程序旨在简化因此模型的字段将最少。 请注意Java库中有一个内置的System类。 因此我将避免使用System.java作为实际应用程序的类名。 System.java package com.michaelcgood.model;import java.util.Date;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;Entity
public class System {private String name;private Date lastaudit;public Date getLastaudit() {return lastaudit;}public void setLastaudit(Date lastaudit) {this.lastaudit lastaudit;}IdGeneratedValue(strategy GenerationType.AUTO)Column(nameid)private long id;public long getId() {return id;}public void setId(long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String toString(){return id | name | lastaudit;}}4 –储存库 这是一个简单的CrudRepository它是允许我们执行CRUD创建读取更新删除操作的接口。 SystemRepository.java package com.michaelcgood.dao;import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.michaelcgood.model.System;Repository
public interface SystemRepository extends CrudRepositorySystem,Long {}5 –数据库初始化 Spring Boot默认情况下启用dataSource初始化程序并从类路径的根目录加载SQL脚本schema.sql和data.sql。 5.1 在这里我们创建应用程序将用于表架构的SQL文件。 模式.sql DROP TABLE IF EXISTS system;
CREATE TABLE system (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(100) NOT NULL,lastaudit DATE NOT NULL,PRIMARY KEY (id));5.2 我们将示例值插入数据库。 资料库 INSERT INTO system(name,lastaudit)VALUES(Windows Server 2012 R2 ,2017-08-11);
INSERT INTO system(name,lastaudit)VALUES(RHEL 7,2017-07-21);
INSERT INTO system(name,lastaudit)VALUES(Solaris 11,2017-08-13);5.3 此XML文件用于配置我们的日志记录。 logback.xml ?xml version1.0 encodingUTF-8?
configurationstatusListener classch.qos.logback.core.status.NopStatusListener /appender nameSTDOUT classch.qos.logback.core.ConsoleAppenderlayout classch.qos.logback.classic.PatternLayoutPattern%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n/Pattern/layout/appenderlogger nameorg.springframework.jdbc levelerror additivityfalseappender-ref refSTDOUT//loggerlogger namecom.michaelcgood levelerror additivityfalseappender-ref refSTDOUT//loggerroot levelerrorappender-ref refSTDOUT//root/configuration6 –配置 我们配置数据源和JPA设置。 application.properties # connect to mysql #
spring.jpa.hibernate.ddl-autoupdate
spring.datasource.urljdbc:mysql://localhost:3306/mysqltutorial?useSSLfalse
spring.datasource.usernameroot
spring.datasource.password
spring.datasource.driver-class-namecom.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect org.hibernate.dialect.MySQL5Dialect7 – SpringBootApplication 实现CommandLineRunner是为了执行此示例的命令行参数。 package com.michaelcgood.app;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;import com.michaelcgood.dao.SystemRepository;SpringBootApplication
EnableJpaRepositories(com.michaelcgood.dao)
EntityScan(com.michaelcgood.model)
public class MysqlJdbcDriverApplication implements CommandLineRunner {AutowiredDataSource dataSource;AutowiredSystemRepository systemRepository;public static void main(String[] args) {SpringApplication.run(MysqlJdbcDriverApplication.class, args);}Overridepublic void run(String... args) throws Exception {System.out.println(Our DataSource is dataSource);Iterablecom.michaelcgood.model.System systemlist systemRepository.findAll();for(com.michaelcgood.model.System systemmodel:systemlist){System.out.println(Here is a system: systemmodel.toString());}}}8 –演示 . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/
[32m :: Spring Boot :: [39m [2m (v1.5.6.RELEASE)[0;39mOur DataSource is org.apache.tomcat.jdbc.pool.DataSource40f70521{ConnectionPool[defaultAutoCommitnull; defaultReadOnlynull; defaultTransactionIsolation-1; defaultCatalognull; driverClassNamecom.mysql.jdbc.Driver; maxActive100; maxIdle100; minIdle10; initialSize10; maxWait30000; testOnBorrowtrue; testOnReturnfalse; timeBetweenEvictionRunsMillis5000; numTestsPerEvictionRun0; minEvictableIdleTimeMillis60000; testWhileIdlefalse; testOnConnectfalse; password********; urljdbc:mysql://localhost:3306/mysqltutorial?useSSLfalse; usernameroot; validationQuerySELECT 1; validationQueryTimeout-1; validatorClassNamenull; validationInterval3000; accessToUnderlyingConnectionAllowedtrue; removeAbandonedfalse; removeAbandonedTimeout60; logAbandonedfalse; connectionPropertiesnull; initSQLnull; jdbcInterceptorsnull; jmxEnabledtrue; fairQueuetrue; useEqualstrue; abandonWhenPercentageFull0; maxAge0; useLockfalse; dataSourcenull; dataSourceJNDInull; suspectTimeout0; alternateUsernameAllowedfalse; commitOnReturnfalse; rollbackOnReturnfalse; useDisposableConnectionFacadetrue; logValidationErrorsfalse; propagateInterruptStatefalse; ignoreExceptionOnPreLoadfalse; useStatementFacadetrue; }
Here is a system: 1 | Windows Server 2012 R2 | 2017-08-11 00:00:00.0
Here is a system: 2 | RHEL 7 | 2017-07-21 00:00:00.0
Here is a system: 3 | Solaris 11 | 2017-08-13 00:00:00.0 完整的代码在 Github上 翻译自: https://www.javacodegeeks.com/2017/10/using-mysql-jdbc-driver-spring-boot.html