Mybatis快速入门

Mybatis快速入门(java mvn mysql)

引入相关依赖包(pom.xml)

      <dependency>//mysql驱动依赖
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>//mybatis起步依赖
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter-test</artifactId>
            <version>3.0.3</version>
            <scope>test</scope>
        </dependency>  

配置mybatis(application.yml)

//连接配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/db01?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 1111
    driver-class-name: com.mysql.cj.jdbc.Driver
//mybatis日志配置
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

数据库表搭建(mysql)

create table user
(
    id     int unsigned auto_increment comment 'ID'
        primary key,
    name   varchar(100)     null comment '姓名',
    age    tinyint unsigned null comment '年龄',
    gender tinyint unsigned null comment '性别, 1:男, 2:女',
    phone  varchar(11)      null comment '手机号'
)
    comment '用户表';

INSERT INTO db01.user (id, name, age, gender, phone) VALUES (2, '金毛狮王', 45, 1, '18800000001');
INSERT INTO db01.user (id, name, age, gender, phone) VALUES (3, '青翼蝠王', 38, 1, '18800000002');
INSERT INTO db01.user (id, name, age, gender, phone) VALUES (4, '紫衫龙王', 42, 2, '18800000003');
INSERT INTO db01.user (id, name, age, gender, phone) VALUES (5, '光明左使', 37, 1, '18800000004');
INSERT INTO db01.user (id, name, age, gender, phone) VALUES (6, '光明右使', 48, 1, '18800000005');

然后创建数据表格对应实体对象pojo(src/main/java/pojo/User)

package qzer.mbs1.pojo;

public class User {
    private int id;
    private String name;
    private int gender;
    private int age;
    private String phone;

    public User() {
    }

    public User(int id, String name, int gender, int age, String phone) {
        this.id = id;
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.phone = phone;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", gender=" + gender +
                ", age=" + age +
                ", phone='" + phone + '\'' +
                '}';
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

然后创建Mapper接口(src/main/java/mapper/UserMapper)

package qzer.mbs1.dao;

import org.apache.ibatis.annotations.*;
import qzer.mbs1.pojo.User;

import java.util.List;

@Mapper
public interface UserMapper {
    @Select("select * from user")
    public List<User> show();//查询所有

    @Select("select  * from user where id = #{id}")
    public User getById(int id);//根据id查询

    @Delete("delete from user where id = #{id}")
    public int deleteById(int id);//根据id删除

    @Select("select * from user where id = #{id} and phone = #{phone}")
    public int login(int id, String phone);//登录 乱写

    @Insert("insert into user(name,age,gender,phone)" +
            "values(#{name},#{age},#{gender},#{phone})")
    public int insert(User user);//增加

    @Update("update user set name = #{name}, age = #{age}, gender = #{gender}, phone = #{phone} where id = #{id}")
    public int update(User user);//改
}

最后进行测试

package qzer.mbs1;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import qzer.mbs1.dao.UserMapper;
import qzer.mbs1.pojo.User;

import java.util.List;


@SpringBootTest
class Mbs1ApplicationTests {
    @Autowired
    UserMapper userMapper;
    @Test
    void contextLoads() {}
    @Test
    void listTest(){
        List<User> res = userMapper.show();
        res.forEach(System.out::println);
    }
    @Test
    void getTest(){
        User res = userMapper.getById(3);
        System.out.println(res);
    }
    @Test
    void deleteTest(){
        userMapper.deleteById(2129144566);
        User res = userMapper.getById(2129144566);
        System.out.println(res);
    }
    @Test
    void loginText(){
        int res = userMapper.login(3, "18800000002");
        System.out.println((res>0));
    }
    @Test
    void insertTest(){
        User user = new User(10,"海啸玮",1,20,"18800000002");
        userMapper.insert(user);
    }
    @Test
    void updateTest(){
        User user = new User(10,"海啸",1,20,"18800000002");
        int update = userMapper.update(user);
        System.out.println(update>0);
    }
}

继续学习动态SQL

  • 13
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值