SpringBoot-Mybatis-分页

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
  • 40
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
# Spring Boot 集成 MyBatis, 分页插件 PageHelper, 通用 Mapper ## 项目依赖 ```xml <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!--mapper--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!--pagehelper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> ``` ## Spring DevTools 配置 在使用 DevTools 时,通用Mapper经常会出现 class x.x.A cannot be cast to x.x.A。 同一个类如果使用了不同的类加载器,就会产生这样的错误,所以解决方案就是让通用Mapper和实体类使用相同的类加载器即可。 DevTools 默认会对 IDE 中引入的所有项目使用 restart 类加载器,对于引入的 jar 包使用 base 类加载器,因此只要保证通用Mapper的jar包使用 restart 类加载器即可。 在 `src/main/resources` 中创建 META-INF 目录,在此目录下添加 spring-devtools.properties 配置,内容如下: ```properties restart.include.mapper=/mapper-[\\w-\\.]+jar restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar ``` 使用这个配置后,就会使用 restart 类加载加载 include 进去的 jar 包。 ## 集成 MyBatis Generator 通过 Maven 插件集成的,所以运行插件使用下面的命令: >mvn mybatis-generator:generate Mybatis Geneator 详解: >http://blog.csdn.net/isea533/article/details/42102297 ## application.properties 配置 ```properties #mybatis mybatis.type-aliases-package=tk.mybatis.springboot.model mybatis.mapper-locations=classpath:mapper/*.xml #mapper #mappers 多个接口时逗号隔开 mapper.mappers=tk.mybatis.springboot.util.MyMapper mapper.not-empty=false mapper.identity=MYSQL #pagehelper pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql ``` ## application.yml 配置 完整配置可以参考 [src/main/resources/application-old.yml](https://github.com/abel533/MyBatis-Spring-Boot/blob/master/src/main/resources/application-old.yml) ,和 MyBatis 相关的部分配置如下: ```yaml mybatis: type-aliases-package: tk.mybatis.springboot.model mapper-locations: classpath:mapper/*.xml mapper: mappers: - tk.mybatis.springboot.util.MyMapper not-empty: false identity: MYSQL pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql ``` 注意 mapper 配置,因为参数名固定,所以接收参数使用的对象,按照 Spring Boot 配置规则,大写字母都变了带横线的小写字母。针对如 IDENTITY(对应i-d-e-n-t-i-t-y)提供了全小写的 identity 配置,如果 IDE 能自动提示,看自动提示即可。 ## SSM集成的基础项目 >https://github.com/abel533/Mybatis-Spring ## MyBatis工具 http://www.mybatis.tk - 推荐使用 Mybatis 通用 Mapper3 https://github.com/abel533/Mapper - 推荐使用 Mybatis 分页插件 PageHelper https://github.com/pagehelper/Mybatis-PageHelper ## 作者信息 - 作者博客:http://blog.csdn.net/isea533 - 作者邮箱:abel533@gmail.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

射手座的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值