Android快速构建系列之:SpringBoot + Docker(二)

这次的目的:用Spring Boot 读写 DB数据了(也就是可以提供动态的API数据)**数据库:(自己搭建或者买都ok)
1.这个是西部数码的
http://www.west263.hk/services/webhosting/database.asp?tabindex=mysql

西部

(我个人买的西部数码的 80一年 ,学习嘛总有点付出)

2.本地构建mysql,网上很多blog这里我也不一一列出了。

3.直接开始用Spring boot 读取MYSQL

springboot

(文档:https://spring.io/guides/gs/accessing-data-mysql/
老样子,执行下方命令:git clone https://github.com/spring-guides/gs-accessing-data-mysql.git

4.然后,AS打开这个project
我们修改 application.properties 文件,修改为刚购买的MYSQL数据库网址,数据库和用户名:
( validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://sql.w108.vhostgo.com:3306/kinzirva
spring.datasource.username=
spring.datasource.password=

Allow Thymeleaf templates to be reloaded at dev time
spring.thymeleaf.cache: true
server.tomcat.access_log_enabled: true
server.tomcat.basedir: target/tomcat)

property,记住usename和password别忘了填写

5.小伙伴们,开始happy了(然后启动服务!!!是的,没错,我们又可以直接开车了。到改目录路径下,执行命令:./gradlew bootRun)
运行成功后,
http://localhost:8080/demo/add?name=kinzirva&email=328350681@qq.com向数据库中添加一条记录
再访问: http://localhost:8080/demo/all
可以发现数据库里面插入一条1b的数据,详细数据就不展示了,如图

数据库 ![Uploading 屏幕快照 2017-11-01 下午4.33.03_533864.png . . .]

问题:
a 数据库表结构是什么创建的? 他怎么知道要创建什么表?
b 我是怎么知道要访问 add 和 all 网址的?

a.Android开发中,常会用到GreenDao,然后根据实体体去生成创建表的语句,这里也是通过读取注册,直接操作DB执行建表操作,
(声明实体类user)然后 上面 application.properties 中的 spring.jpa.hibernate.ddl-auto=create


创建表

即代表在运行时,根据POJO类自动创建数据库表结构。

对于客户端而言,省去了什么?省去了你去写建表语句.(tips:做得绝一点,你直接声明好POJO类,启动一次创建好相应的表结构,再把 create 的值改为none,后面就专心写你的业务就可以了。).
b.其实你如果够仔细的话,在启动时,Spring boot 启动日志告诉我们:(建议集合日志和代码来看)
映射 /demo/add 到 hello.MainController.addNewUser(java.lang.String,java.lang.String) —>


MainController

(所以再看:MainController 的代码如下:通过代码,我们发现 GET请求,带上参数 name 和 email 会调用 userRepository.save(); 保存用户信息到DB。
而 all 则 调用 userRepository.findAll()方法返回相应的JSON数据。) userRepository 则通过 Spring 的 @Autowired 植入到Controller中。
So, Everything is Simple!

下一期:所以先搭一个Spring Web页面(理由:我们现在已经可以从DB中动态的输出 数据库 中的数据给客户端使用。但这些还不够,因为客户端用到的不仅仅是API,还有WEB H5的页面。)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,306评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,016评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • application的配置属性。 这些属性是否生效取决于对应的组件是否声明为Spring应用程序上下文里的Bea...
    新签名阅读 10,759评论 1 27
  • 1.感恩我有一对负责任的父母将我养大,并供我上大学,教会我走第一步路,教会我说第一句话,教会我穿衣服。 2.感恩我...
    空空dj阅读 1,007评论 0 0