【springBoot学习篇】springBoot集成mybatis

目录

第一步:新建spring项目的时候,需要勾选mybatis框架和jdbc连接数据库的包

第二步:在resource目录下面的配置文件当中添加以下的内容:配置数据源

第三步:配置实体类

第四步:添加一个对象的增删改查方法

查询定义:

①查询所有:

 ②条件查询:

新增操作

删除操作

更新操作:

字段不一致的时候映射:

第一步:新建spring项目的时候,需要勾选mybatis框架和jdbc连接数据库的包

6c2829e3e31a259065fe4542e5980962.png

然后,检查pom.xml当中是否包含了以下的几个内容:

mybatis的依赖以及mysql连接数据库的依赖;

d54342220d743fcadc0eba2915e15a52.png


第二步:在resource目录下面的配置文件当中添加以下的内容:配置数据源

c894d744b6d85f0c768795bbc401f9c7.png

配置数据源:

spring.application.name=demo30
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.password=20021111aA#
spring.datasource.username=root
spring.datasource.url=jdbc:mysql://localhost:3306/my_blog_system?characterEncoding=utf8&useSSL=false

第三步:配置实体类

此处以一个user为例,这边需要配置一个user对象;这个对象在数据库当中对应的也是一个实体;

52625cdf7e62c58a4dbc6e0b3dc03f5e.png

这里面的属性需要和数据库当中的user一一对应 

package com.example.demo.Entity;

import lombok.Data;

/**
 * @author 25043
 */
@Data
public class User {

    private int userId;
    private String username;
    private String password;
}

第四步:添加一个对象的增删改查方法

查询定义:

①查询所有:

新建一个mybatis目录,下面定义一个类;在此类当中定义一个查询的方法:

60ea0067693aba12acba4f0b5a68551e.png

@Mapper注解用于标注持久层的对象;

@Select注解用来编写查询数据库的语句;

queryUserList方法用来返回查询数据库的内容。 

/**
 * 访问数据库
 * @author 25043
 */
@Mapper
public interface UserInfoMapper {
    /**
     * 返回数据列表
     * 查询列表@return
     */
    @Select("select * from user")
    List<User> queryUserList();
}

 ②条件查询:

当传入userId的时候,相当于在select语句当中添加了查询userId的操作

    //方法可以传入需要查询的参数
    @Select("select * from user where userId = #{userId}")
    User queryUserById(Integer userId);

传入参数重命名:当方法传入的userId和Param里面的id一致的时候,就不需要参数重命名,否则就需要通过@Param注解重命名这个参数;让@Param注解的参数和#后面的一致

    /**方法可以传入需要查询的参数
     *
     * 用户的uid@param userId
     * user对象@return
     */
    @Select("select * from user where userId = #{id}")
    User queryUserById(@Param("id") Integer userId);

新增操作

在下面的步骤当中,insert语句的values当中,username和password都是user的属性。因此直接提取参数即可。这个参数就是方法传入的user的两个属性的值:username,password

    /**
     * 传入的username和password为对应user的属性
     * 新增的user都西昂@param user
     * 插入成功,返回1@return
     */
    @Insert("insert into user(username, password) "+" values(#{username},#{password})")
    Integer insert(User user);

删除操作

如下面的操作所示,就是删除操作:根据id删除:需要使用到@Delete注解。

   /**
     * 用户的id@param id
     * 删除这个user@return
     */
    @Delete("delete from user where userId = #{id}")
    Integer delete(Integer id);

更新操作:

    /**
     * 更新
     * 密码@param password
     * 用户的id@param id
     */
    @Update("update user set password=#{password} where userId=#{id}")
    Integer update(String password,Integer id);

字段不一致的时候映射:

首先需要定义一个BaseResult,其中的value为定义的数据库字段的映射;

@Mapper
public interface UserInfoMapper {


    /**方法可以传入需要查询的参数
     *
     * 用户的uid@param userId
     * user对象@return
     */
    //第一步:定义一个BaseResult:value的值为@Result注解里面数据库实体之间的映射
    @Results(id ="BaseResult" ,value = {
            //column为数据库当中的字段,property为实体的字段名称
            @Result(column = "password1" ,property = "password")
    })
    //第二步:在对应查询的方法上面标注value="BaseResult",那么就可以查询出来对应的user对象了
    @ResultMap(value = "BaseResult")
    @Select("select * from user where userId = #{id}")
    User queryUserById(@Param("id") Integer userId);
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值