springBoot使用Mybatis总结

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

  • pom文件中导入依赖包
        <!-- 引入mybatis包 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <!-- alibaba的druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>

        <!-- 数据库连接 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
  • 项目配置文件中进行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文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<mapper namespace="com.yunmeng.friday.dao.UserDao">
    <update id="updateUser">
        update sys_user t
        <set>
            <if test="username != null">username=#{username},</if>
            <if test="password != null">password=#{password},</if>
            <if test="nickname != null">nickname=#{nickname},</if>
            <if test="phone != null">phone=#{phone},</if>
            <if test="birthday != null">birthday=#{birthday},</if>
            <if test="sex != null">sex=#{sex},</if>
            <if test="status != null">status=#{status},</if>
            <if test="updateTime != null">updateTime=#{updateTime}</if>
        </set>
        where username=#{username}
    </update>

</mapper>

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

MyBatis配置中文文档参考

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

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

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

 

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

 

 

 

 

 

 

 

 

 

 

在Spring Boot中使用MyBatis进行XML配置,你需要在pom.xml文件中添加MyBatisMyBatis-Spring的依赖。然后,创建一个Mapper接口和一个对应的XML映射文件。 首先,确保在你的pom.xml文件中添加以下依赖: ```xml <dependencies> ... <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency> ... </dependencies> ``` 接下来,创建一个Mapper接口,与XML映射文件的名称和包路径相对应。例如,如果你的XML映射文件名是EmpMapper.xml,你的Mapper接口应该是EmpMapper.java,并且它们应该在相同的包路径下。 在Mapper接口中,定义与XML映射文件中SQL语句相对应的方法。方法的名称和参数应与XML映射文件中的id和参数相匹配。例如,如果你的XML映射文件中有一个id为"list"的select语句,你的Mapper接口应该有一个名为list的方法,并且参数应该与XML映射文件中的参数相匹配。 最后,在XML映射文件中,你可以使用<select>元素指定SQL查询语句。在resultType属性中,指定返回值的类型。例如,如果你的返回值类型是pojo.Emp,你可以在<select>元素中添加resultType="pojo.Emp"。 这只是一个简单的示例,你可以根据你的需求在XML映射文件中添加更多的SQL语句和配置。 总结起来,Spring Boot使用MyBatis进行XML配置需要以下步骤: 1. 添加MyBatisMyBatis-Spring的依赖到pom.xml文件中。 2. 创建Mapper接口和对应的XML映射文件,并将它们放在相同的包路径下。 3. 在Mapper接口中定义与XML映射文件中SQL语句相对应的方法。 4. 在XML映射文件中使用<select>元素指定SQL查询语句,并指定返回值的类型。 希望对你有所帮助!<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [基于springbootmybatisxml配置](https://blog.csdn.net/m0_63002921/article/details/130169128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值