springboot 做单表 增删改查 (idea)
创建项目
建立项目后 , 立即配置 之前的 mapper, entity,service,controller ,
注意 请为 xxxMapper.java 添加 @Mapper
打开 启动文件 即 包含@SpringBootApplication 的那个类 ,添加 @MapperScan("com.ly.mapper") 配置包的扫描(接口文件)
关于mapper的设置问题
mybatis 中的 xxxMapper.xml 存放位置 有2个地方,
第一个地方,按照 原来ssm 项目而言, 将 xxxMapper.java 与xxxMapper.xml 放在一起,
需要在 pom.xml 的 <build></build> 标签内 添加 以下内容
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
还有种 方式 : 将 接口与配置 文件 分离, 将xxxMapper.xml 放到 resources 下, 建立 mapper 文件夹, pom.xml 同上
配置 相关配置,打开 resources 下 applicaion.proptrties
# 数据源配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=root spring.datasource.url=jdbc:mysql://localhost:3306/mydb0830?serverTimezone=GMT #mybatis 配置 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl mybatis.type-aliases-package=com.ly.entity # 方式2 配置 mybatis.mapper-locations=classpath:mapper/*.xml #方式1 配置 mybatis.mapper-locations=classpath:cm/ly/mapper/*.xml
配置页面
spring boot 种 有两个目录 可以访问 static 和template
static 存放 静态文件 ,例如 纯html,css ,image ,js 等
static 里面放的html 可以直接访问.
但是 template 下的 html 就不可以直接访问,
static目录是用来保存静态文件的目录, 比如HTML, JS, CSS, 图片等, 是不需要服务器进行数据绑定的页面.
template目录是用来保存动态模版文件的目录, 比如Freemarker, JSP, Thymeleaf等需要服务器动态渲染数据的文件. 由于页面渲染需要服务器中的数据, 所以该文件必须经过Controller控制器进行Model数据绑定后, 由服务器进行跳转. 所以直接访问是无意义的, 也访问不到.
spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html
template 下 建立 list.html
<html lang="en" xmlns:th="http://www.thymeleaf.org"> 引入命名空间
修改
<form action="/update" method="post">
部门名称<input type="text" name="depName" th:value="${dep.depName}"/>
部门名称<input type="text" name="depEmpName" th:value="${dep.depEmpName}"/>
<input type="hidden" name="depNo" th:value="${dep.depNo}"/>
<input type="submit" value="保存"/>
</form>
查询
<h3>员工列表</h3>
<ul th:each="dep : ${depList}">
<li th:text="${dep.depName}"> </li>
<button th:onclick="|findById(${dep.depNo})|">修改</button> <button th:onclick="|del(${dep.depNo})|">删除</button>
<a th:href="@{'delById?id='+${dep.depNo}}">删除</a>
</ul>
<button onclick="window.location.href='/addDep'">添加部门</button>
<script>
function findById(id){
window.location.href='/findById?id='+id;
}
function del(id){
if(confirm("确认删除吗?")){
window.location.href='/delById?id='+id;
}
}
</script>
分页查询
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
#分页配置 pagehelper.helper-dialect=mysql
解决办法就是在 Spring Boot 的配置文件 application.properties 中将 hiddenmethod 过滤器设置为启用即可。
# 启用hiddenMethod过滤器 spring.mvc.hiddenmethod.filter.enabled=true