- Android快速构建系列之:SpringBoot + Dock
- springboot系列——快速构建springboot工程
- Android从无到有系列之:SpringBoot + Dock
- 【SpringBoot2.0系列05】SpringBoot之整合
- 【SpringBoot2.0系列04】SpringBoot之使用
- 【SpringBoot2.0系列03】SpringBoot之使用
- 【SpringBoot2.0系列02】SpringBoot之使用
- 【SpringBoot2.0系列11】SpringBoot之@E
- SpringBoot入门系列--快速构建SpringBoot应用
- SpringBoot2.0学习第一篇之构建RESTful Web
这次的目的:用Spring Boot 读写 DB数据了(也就是可以提供动态的API数据)**数据库:(自己搭建或者买都ok)
1.这个是西部数码的
http://www.west263.hk/services/webhosting/database.asp?tabindex=mysql
![](https://img.haomeiwen.com/i1432894/faafa319e783c7c6.png)
(我个人买的西部数码的 80一年 ,学习嘛总有点付出)
2.本地构建mysql,网上很多blog这里我也不一一列出了。
3.直接开始用Spring boot 读取MYSQL
![](https://img.haomeiwen.com/i1432894/bae86945ea960c0b.png)
(文档: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)
![](https://img.haomeiwen.com/i1432894/582a026dd50c4f03.png)
5.小伙伴们,开始happy了(然后启动服务!!!是的,没错,我们又可以直接开车了。到改目录路径下,执行命令:./gradlew bootRun)
运行成功后,
http://localhost:8080/demo/add?name=kinzirva&email=328350681@qq.com向数据库中添加一条记录
再访问: http://localhost:8080/demo/all
可以发现数据库里面插入一条1b的数据,详细数据就不展示了,如图
![](https://img.haomeiwen.com/i1432894/f66c9a0365894e7e.png)
问题:
a 数据库表结构是什么创建的? 他怎么知道要创建什么表?
b 我是怎么知道要访问 add 和 all 网址的?
a.Android开发中,常会用到GreenDao,然后根据实体体去生成创建表的语句,这里也是通过读取注册,直接操作DB执行建表操作,
(声明实体类user)然后 上面 application.properties 中的 spring.jpa.hibernate.ddl-auto=create
![](https://img.haomeiwen.com/i1432894/5cd7edd9119dd424.png)
即代表在运行时,根据POJO类自动创建数据库表结构。
对于客户端而言,省去了什么?省去了你去写建表语句.(tips:做得绝一点,你直接声明好POJO类,启动一次创建好相应的表结构,再把 create 的值改为none,后面就专心写你的业务就可以了。).
b.其实你如果够仔细的话,在启动时,Spring boot 启动日志告诉我们:(建议集合日志和代码来看)
映射 /demo/add 到 hello.MainController.addNewUser(java.lang.String,java.lang.String) —>
![](https://img.haomeiwen.com/i1432894/a4b5b002ac569dad.png)
(所以再看: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的页面。)
网友评论