spring boot (四)mybatis

上回说到web应用的前半截,尚未持久层,一个没有持久层的web应用不是完整的,如今咱们就来使用mybatis链接MySQL存储数据,若是尚未安装MySQL数据库,百度安装(手动滑稽)。java

数据库配置

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis 配置

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
#mybatis xml 文件目录
mybatis.mapper-locations=classpath:mapper/*.xml
#mybatis 接口包
mybatis.type-aliases-package=cn.le.dao

#打印SQL语句
#logging.level.org.springframework=WARN
#指定mybatis须要打印的SQL对应的mapper
#logging.level.cn.le.dao.userDAO=DEBUG
#日志输出
#logging.file=logs/spring-boot-logging.log

撸码

首先咱们编写对应的接口和xml文件mysql

@ Mapper // 映射mybatis实现
public interface UserDAO {
    //@Param映射参数
    UserPO login(@Param("name")String name,@Param("pwd")String pwd);
}
<sql id="column"> /*数据库列名映射*/
        name as name, pwd as pwd
    </sql>

    <select id="login" resultType="cn.le.beans.po.UserPO">
        select <include refid="column"/> from user where name = #{name} and pwd = #{pwd}
    </select>
@ Service
public class UserService {
    @Autowired
    private UserDAO userDAO;

    public UserPO login(UserDTO dto){
        return userDAO.login(dto.getName(),dto.getPwd());
    }
}

pagehelper 分页

在使用mybatis的时候有一个分页的好帮手pagehelper,如今咱们来集成pagehelper。git

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>

修改service查询github

public Page findUser(PageDTO dto){
        //老版本分页到最后数据库没有数据时会返回最后一页的数据,若是但愿返回空数据,reasonable设置为false
        PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
        return (Page) userDAO.findUser();
    }

mybatis还有一种全注解模式,可是我的建议不这样用,mybatis接口中写了太多的sql,看着难受(手动滑稽)web

---------------代码 git 地址 https://gitee.com/distant/spring-boot-geit.gitspring

相关文章
相关标签/搜索