从零开始学spring-boot(4)-集成Mybatis
来源:互联网 发布:淘宝手机端图片分辨率 编辑:程序博客网 时间:2024/06/17 06:09
之前我们集成了spring-data-jpa,但由于spring-data-jpa是包装了Hibernate,比较笨重,所以我决定还是将更轻量级一些的Mybatis集成进来作为我的ORM。由于Mybatis默认没有分页,githup上有好多大神写的Mybatis分页插件,可以参考。(本节代码是在上一节基础上修改)
1.首先将Mybatis和pagehelper分页插件的包导入
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency>
2.编写UserDao.java接口层代码,我没有采用xml进行一一映射,而是采用注解的形式。
package com.zity.springboot.dao;import com.zity.springboot.domain.UserDomain;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import java.util.List;/** * Created by Andy on 2016/10/30. */@Mapperpublic interface UserDao{ /** * 根据用户名称查询用户 * @param userNo * @return */ @Select("select * from user_domain where userNo=#{userNo}") UserDomain findByUserNo(@Param(value = "userNo") String userNo); /** * 根据用户名称模糊匹配用户 * @param userName * @return */ @Select("select * from user_domain where userName like '%'||#{userName}||'%'") List<UserDomain> findListByLikeName(@Param(value = "userName") String userName);}
3.编写UserDomain.java实体类
package com.zity.springboot.domain;public class UserDomain { /** 用户id */ private long id; /** 用户编号 */ private String userNo; /** 用户名称 */ private String userName; /** 用户密码 */ private String userPwd; /** 用户盐值 */ private String salt; /** 用户状态 */ private String userStatus; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getUserNo() { return userNo; } public void setUserNo(String userNo) { this.userNo = userNo; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPwd() { return userPwd; } public void setUserPwd(String userPwd) { this.userPwd = userPwd; } public String getSalt() { return salt; } public void setSalt(String salt) { this.salt = salt; } public String getUserStatus() { return userStatus; } public void setUserStatus(String userStatus) { this.userStatus = userStatus; }}
4.在UserServiceImpl.java中编写调用方法
package com.zity.springboot.service;import com.github.pagehelper.PageHelper;import com.zity.springboot.dao.UserDao;import com.zity.springboot.domain.UserDomain;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Service("userService")public class UserServiceImpl implements UserService{ @Autowired private UserDao userDao; @Override public UserDomain findUserByUserNo(String userNo) { return userDao.findByUserNo(userNo); } @Override public List<UserDomain> findListByName(String userName) { PageHelper.startPage(3,1); return userDao.findListByLikeName(userName); } }
package com.zity.springboot.configuration;import com.github.pagehelper.PageHelper;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Properties;@Configurationpublic class PageHelperConfig { @Bean public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); pageHelper.setProperties(p); return pageHelper; }}
6.在Controller层添加调用方法,即可在浏览器访问。
分页插件的使用非常简单,只需要在使用查询时添加一句代码PageHelper.startPage(3,1);即可。
0 0
- 从零开始学spring-boot(4)-集成Mybatis
- 从零开始学spring-boot(2)-集成spring-data-jpa
- 从零开始学spring-boot(2)-集成spring-data-jpa
- 从零开始学spring-boot(3)-集成logback日志
- 从零开始学spring-boot(5)-集成单元测试环境
- 85. Spring Boot集成RabbitMQ【从零开始学Spring Boot】
- 81. Spring Boot集成JSP疑问【从零开始学Spring Boot】
- 84. Spring Boot集成MongoDB【从零开始学Spring Boot】
- 86. Spring Boot集成ActiveMQ【从零开始学Spring Boot】
- 88. Spring Boot集成Swagger2【从零开始学Spring Boot】
- 94.Spring Boot集成Jersey【从零开始学Spring Boot】
- (35)Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】
- (37)Spring Boot集成EHCache实现缓存机制【从零开始学Spring Boot】
- (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】
- 从零开始学Spring Boot
- 4Spring Boot 集成 Mybatis
- 62. mybatis 使用PageHelper不生效【从零开始学Spring Boot】
- 从零开始学Spring Boot(4)常用配置
- 【East!_XVI】九尾妖狐 最小割
- RCNN--对象检测的又一伟大跨越
- 嵌入式软件应用程序开发框架浅见
- MySQL数据库中的Date,DateTime,TimeStamp和Time类型
- XJOI NOIP模拟题2[数论][组合数][树规]
- 从零开始学spring-boot(4)-集成Mybatis
- 替换空格
- Codevs 1169 传纸条/1043 方格取数 2008/2000年NOIP全国联赛提高组 多线程dp
- 图片占位专用
- PullToRefresh
- 网站分析(六)
- 深度 | 一篇文章带你进入无监督学习:从基本概念到四种实现模型(附论文)
- Problem 45 Triangular, pentagonal, and hexagonal (暴力)
- 浅谈向上造型