开始自学SIA5这本书了,直接就上英文版了。
SIA 5 1-3章讲了最基础的数据库应用,作者毕竟是高手,代码还是很不错的,使用了Java 8的一些特性。
但是由于直到第三章引入数据库,才让人看到设计的全貌,这里记录一下总的心得。
@SessionAttribute属性的使用
@SessionAttribute必须配合@ModelAttribute一起使用。
在之前Udemy视频里没有使用过这个,这个@SessionAttribute
,这个实际上在对model进行存取的时候,如果放进model中的键与@SessionAttribute
的value相同,这个东西实际上会被放进session里。
在取出来的时候,如果session里有,实际上取得是session里的数据,只要浏览器不关闭,还是一个页面,即使redirect也不会消失。
常用工具
列出一下作者用到的所有第三方包:
- Lombok
- @Data
- @RequiredArgsConstructor
- IDE 插件 https://projectlombok.org/setup/intellij
- @Slf4j 自带log对象,导入就可以用
- Thymeleaf, 这是必用的库
- H2 数据库,默认是使用内存库,需要url=jdbc:h2:mem:testdb,第一进去密码就是默认的。SB集成的时候自动会用。
Spring Data不同持久化的东西
- Spring Data JPA 持久化关系型数据库
- Spring Data MongoDB MongoDB
- Spring Data Neo4j 图片持久化库
- Spring Data Redis Redis库
- Spring Data Cassandra 持久化到Cassandra数据库
对于这些数据库,Spring Data都可以通过接口自动生成库。
自己再开发必须使用UTF-8的库才行了,现在就详细配置好了各种库。
由于Spring in Action 5 到了第3章才引入数据库的设计,其实应该先把数据结构放出来会好很多。
这里就先自己实现一下页面,再自己实现一下使用JPA的方式。JdbcTemplate的方式留到以后看好了。
作者想要做的是,进入页面,选择配料,选好之后形成一个Taco,然后下订单,很显然一个订单可以有多个Taco种类,一个Taco种类可能被多个订单使用。Taco和配料之间的关系同样也是多对多。
就跟随作者的思路,每一章用自己的思路和方法先来实现一下。把遇到的东西都先自己再归纳学习一下。