springBoot使用Mybatis总结

springBoot使用mabatis已经是非常常用的技巧了,但是对于小白来说还有许多值得记录的地方,这里做部分的总结,后续工作中有不懂的会及时的在这里进行更新。

  • pom文件中导入依赖包
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.2
        

        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.9
        

        
        
            mysql
            mysql-connector-java
            runtime
        
  • 项目配置文件中进行mybatis的相关配置

这里选项用application.yml系统配置文件。

配置mybatis:

#集成mybatis环境
mybatis:
  mapper-locations: classpath*:mybatis-mappers/*
  type-aliases-package: com.yunmeng.friday.model
  configuration:
    map-underscore-to-camel-case: true

配置数据库连接池:

spring:
  #配置数据库,名称为springbootdemodat
  datasource:
    name: springbootdemodat
    type: com.alibaba.druid.pool.DruidDataSource
    #druid相关的配置
    druid:
      filters: stat #监控统计的filters
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://127.0.0.1:3306/springbootdemodat?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
      username: root
      password: 123456

      initial-size: 1 #配置初始化大小
      min-idle: 1
      max-active: 20
      max-wait: 60000 #获取连接等待超时时间
      time-between-eviction-runs-millis: 60000 #多久需要进行一次检测,检测需要关闭的空闲连接

      min-evictable-idle-time-millis: 300000 #一个连接在池中的最小生存时间
      validation-query: SELECT 'x'
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false

      pool-prepared-statements: false #打开PScache,并设置每个连接上PSCache的大小,oracle设置为true,mysql设置为false
      max-pool-prepared-statement-per-connection-size: 20
  • 编写UserDao接口,定义sql语句及方法
package com.yunmeng.friday.dao;

import com.yunmeng.friday.model.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserDao {

    //查询用户
    @Select("select * from sys_user t where t.username = #{username}")
    SysUser getUser(String username);

    //用户注册
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    @Select("INSERT INTO sys_user(username, password, nickname, phone, birthday, sex, status, createTime, updateTime) " +
            "VALUES(#{username}, #{password}, #{nickname}, #{phone}, #{birthday}, #{sex}, #{status}, #{createTime}, #{updateTime})")
    void insertUser(SysUser user);

    //更新用户,采用xml样式
    void updateUser(SysUser user);

    //用户登录
    @Select("select * from users where username=#{username} and PASSWORD=#{PASSWORD}")
    boolean userLogin(SysUser user);

}
  • 定义UserMapper.xml文件




    
        update sys_user t
        
            username=#{username},
            password=#{password},
            nickname=#{nickname},
            phone=#{phone},
            birthday=#{birthday},
            sex=#{sex},
            status=#{status},
            updateTime=#{updateTime}
        
        where username=#{username}
    


其中的前两行为固定写法,namespace字段表名此mapper文件指向的dao接口类,相关的语法参考可以参考中文文档:

MyBatis配置中文文档参考

idea编辑器可以设置mapper提示,方法如下:

需要在settings->Schemas DTDS添加配置external schemas and DTDS :

http://mybatis.org/dtd/mybatis-3-mapper.dtd

 

完成之后即可以编写测试类进行配置测试。

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Mybatis基本使用配置总结)