先置入源代码:追梦博客
项目结构分析若是你已经熟悉了SSM开发流程可以简易化创建SpringBoot项目 工件直接添加你想要的名字最好和这里一样src/java是三级目录 千万别把这个目录复杂化
一些注解我默认跳过哈 @Autowired 和@Mapper @Repository 等等
- AOP我也不太懂是干嘛的好像是日志事件 反正我不能理解
- config是拦截器 拦截后台登录类。
- controller是控制层 实现后端数据和前端页面交互
- interceptor是拦截器 设置对应拦截login这个专门的类
- mapper 数据库操作管理
- pojo(也可以entity)实体类及其属性 对应数据库表名和列名
- service服务层 说罢了就是执行数据库操作(mapper)
- utils工具包 一般涉及算法 加密 或者 插件 等等 不太明白。
- resources资源包 static静态资源SpringBoot已经默认了static/这个路径 引用直接/包名就好了 templates包是网页,需要进行mvc配置
- 一般都是用applicaiton.yml配置文件
数据库datasource不解释thymeleaf是controller跳转对应网页的关键 mybatis锁定mapper.xml所在位置 这个项目因为接口和xml文件放在一起,所以没有mapper-locaitons一配置
···xml
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/myblog
thymeleaf:
cache: false
mode: HTML
prefix: classpath:/templates/
suffix: .html
mybatis:
type-aliases-package: com.dreamchaser.pojo
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
log-prefix: mapper.
```
关于pom.xml依赖我懒得上传了,因为源码已经很详细
个人推荐的开发思路:数据库-->实体类-->dao层-->服务层-->controller层-->其它支持:工具或者拦截
如果不使用自动生成数据表,则需要先创建数据库和导入数据。 后端src/java: 实体类属性名同数据表列名 不多说了 看看代码能理解。
dao类数据库操作方法接口,需要什么功能写入什么功能,常用增删改查。注意注解的使用@mapper声明
或者@Repository实现可注入bean
service类包含了service接口和service实现类,service接口同dao接口一致,实现类注解@Service和@Autowired注入所需dao类实现想要操作的数据库方法,无脑alt+insert.....
前端使用thymeleaf模板:注意使用引入支持
额外主题重点来了,使用mybatis-generator或者Spring data jpa两种情况的自动生成代码
mybatis-generator生成代码:口述一下基本配置:
pom.xml 需要 mysql mybatis generator-core generator-maven-plugin
maven记得加入
```xml
mybatis-generator-maven-plugin
```
```yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/myblog
thymeleaf:
cache: false
mode: HTML
prefix: classpath:/templates/
suffix: .html
#使用mybatis-plus 类似如下即可 注意路径
mybatis: type-aliases-package: com.dreamchaser.pojo mapper-locations:你的路径
```
接下来,generatorConfig.xml 放下resources根目录
改jar包
jdbc连接信息
生成实体类地址
生成map.xml文件存放地址
生成接口
table表名
如果要生成多个表对应的文件 就多加table标签就行
添加maven 命令行 mybatis-generator:generate -e 执行
```xml
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
password="123456"/>
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false"
enableSelectByPrimaryKey="true"
enableUpdateByPrimaryKey="true"
enableDeleteByPrimaryKey="true">
```
成功运行后可以生成实体类 dao接口类和mapper的xml文件
Spring Data Jpa自动生成数据表创建springboot项目添加好jpa就行 其它的mysql驱动啥的不多说了
```yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/myblog
thymeleaf:
cache: false
mode: HTML
prefix: classpath:/templates/
suffix: .html
jpa:
hibernate:
ddl-auto: update
show-sql: true
#使用mybatis-plus 类似如下即可 注意路径
mybatis: type-aliases-package: com.dreamchaser.pojo mapper-locations:你的路径
```
实体类的写法十分重要:@Entity //告诉jpa这是一个实体类 和 数据表映射的类
@Table(name = "tbl_user") //指定和哪个数据表对应 如果省略 表名就是类名小写
@Id //这是一个主键
@GeneratedValue(strategy = GenerationType.IDENTITY) //自增主键
@Column(name="last_name",length = 50) //与数据表对应的列
@Column //省略 默认列名就是属性名
手写一个例子
```java
@Entity
//Table(name="myname")默认表名test
public class Test(){
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
@Column
private String TestName;
}
```
启动SpringBoot项目就行了



