软硬件环境macos sierra
java 1.8.0_65
maven 3.5.0
idea 2017.1.5
前言前面一篇a8093152e673feb7aba1828c43532094已经搭建好了spring boot的开发环境并且完成了第一个hello world程序,本文紧接着上篇的内容,开始数据库相关的知识点。
工程相关配置pom.xml在dependencies标签下增加依赖,一个是spring data jpa,另一个是mysql
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-data-jpa</artifactid></dependency><dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid></dependency>
application.properties在这个配置文件中需要写上mysql的驱动、服务器地址、端口、数据库名称、用户名、密码等信息。
spring.datasource.dbcp2.driver-class-name=com.mysql.jdbc.driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/dbvcms
spring.datasource.username=root
spring.datasource.password=djstava
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
其中spring.jpa.hibernate.ddl-auto=update表示操作数据库时,所有的操作都是更新操作,这里还可以取值create、create-drop等值
spring data jpaspring data jpa操作mysql数据库非常简单,简单到什么程度?根本不需要你创建任何表以及表的各个字段。这个有点像orm(对象关系映射)。眼见为实,下面就看看具体实现步骤。
创建实体类这里的实体类是指欲操作对象,包含它的各种属性,对应到数据中的各个字段。
livechannel.java
package com.xugaoxiang;import org.springframework.beans.factory.annotation.autowired;import javax.persistence.entity;import javax.persistence.id;/**
* created by djstava on 10/09/2017.
*/@entitypublic class livechannel {
@id
@autowired
private integer id; // 频道名称中文
private string name_chn; // 频道名称英文
private string name_eng; // 频道url
private string url; // 频道是否需要播放广告
private boolean hasads; public string getname_chn() { return name_chn;
} public void setname_chn(string name_chn) { this.name_chn = name_chn;
} public string getname_eng() { return name_eng;
} public void setname_eng(string name_eng) { this.name_eng = name_eng;
} public string geturl() { return url;
} public void seturl(string url) { this.url = url;
} public boolean gethasads() { return hasads;
} public void sethasads(boolean hasads) { this.hasads = hasads;
}
}
上面实体类包含直播频道的一些信息。
接口实现创建livechannelrepository.java,继承自jparepository,其中的interger表示的是id的数据类型
package com.xugaoxiang;
import org.springframework.data.jpa.repository.jparepository;/**
* created by djstava on 10/09/2017.
*/public interface livechannelrepository extends jparepository<livechannel,integer> {}
操作数据库创建livecontroller,这里设计了一个restfulapi,/live,返回的是数据库中所以的直播列表。
package com.xugaoxiang;import org.springframework.beans.factory.annotation.autowired;import org.springframework.web.bind.annotation.getmapping;import org.springframework.web.bind.annotation.restcontroller;import java.util.list;/**
* created by djstava on 10/09/2017.
*/@restcontrollerpublic class livecontroller {
public livecontroller() {
} @autowired
private livechannelrepository livechannelrepository; @getmapping(value = "/live") public list<livechannel> getlivechannel() { return livechannelrepository.findall();
}
}
创建数据库如上配置信息所示,创建数据库dbvcms
这里我们是没有去创建表结构的,启动工程的话,jpa会自动帮你把表创建好,各个字段的信息就来自于文件livechannel.java
为了方便查询,我们添加2条记录,如下所示
测试一切准备就绪,启动项目,在浏览器中输入
http://localhost:8080/live
以上就是如何使用spring boot操作mysql数据库的详细内容。