springboot+mybatis实现查询数据库中所有用户信息

目录

一、创建springboot工程并引入mybatis相关依赖

1.这里是这个项目,如有需要可点击此链接:idea创建springboot工程,并引入mybatis依赖

2.让项目更简洁

3.最终目录

二、准备一个数据库和要查询的表

1.数据库和user表

2.sql语句

三、创建实体类

1.创建包pojo,和实体类User

2.声明属性

3.get、set方法、构造器、tostring方法(快捷键生成)

4.代码:User.java

四、配置mybatis(数据库连接信息)

1.找到工程自带的文件(application.properties)

2.配置数据库连接信息

3.代码:application.properties

五、编写sql语句(注解、xml)

1.创建接口mapper

2.将sql语句写到注解中

六、测试

1.打开工程生成的测试文件

2.编写测试方法

3.运行测试方法

4.查看控制台


一、创建springboot工程并引入mybatis相关依赖

1.这里是这个项目,如有需要可点击此链接:idea创建springboot工程,并引入mybatis依赖

2.让项目更简洁

3.最终目录

二、准备一个数据库和要查询的表

这里使用的idea中自带的数据库图形化工具,如有需要可查看此链接:

idea中数据库图形化工具的使用

1.数据库和user表

2.sql语句

create table user(
                     id int unsigned primary key auto_increment comment 'ID',
                     name varchar(100) comment '姓名',
                     age tinyint unsigned comment '年龄',
                     gender tinyint unsigned comment '性别, 1:男, 2:女',
                     phone varchar(11) comment '手机号'
) comment '用户表';
 
insert into user(id, name, age, gender, phone) VALUES (null,'喜羊羊',5,'1','13000000000');
insert into user(id, name, age, gender, phone) VALUES (null,'美羊羊',4,'2','13000000001');
insert into user(id, name, age, gender, phone) VALUES (null,'懒羊羊',3,'1','13000000002');
insert into user(id, name, age, gender, phone) VALUES (null,'暖羊羊',6,'2','13000000003');
insert into user(id, name, age, gender, phone) VALUES (null,'沸羊羊',7,'1','13000000004');
insert into user(id, name, age, gender, phone) VALUES (null,'慢羊羊',13,'1','13000000005');

三、创建实体类

1.创建包pojo,和实体类User

2.声明属性

User实体类中的属性和数据库中的字段一 一对应

3.get、set方法、构造器、tostring方法(快捷键生成)

4.代码:User.java

package com.example.springbootmybatisdemo.pojo;

/**
 * User实体类
 */
public class User {
    private Integer id; //id
    private String name; //姓名
    private Short age;  //年龄
    private Short gender;   //性别
    private String phone;   //电话

    //有参构造
    public User(Integer id, String name, Short age, Short gender, String phone) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
    }

    //无参构造
    public User() {
    }

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public Short getAge() {
        return age;
    }

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

    public Short getGender() {
        return gender;
    }

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

    public String getPhone() {
        return phone;
    }

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

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

四、配置mybatis(数据库连接信息)

1.找到工程自带的文件(application.properties)

2.配置数据库连接信息

3.代码:application.properties

#配置数据库连接信息------四要素
#1.驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#2.数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
#3.连接数据库的用户名
spring.datasource.username=root
#4.连接数据库的密码
spring.datasource.password=123456

五、编写sql语句(注解、xml)

1.创建接口mapper

2.将sql语句写到注解中

代码:UserMapper.interface

package com.example.springbootmybatisdemo.mapper;

import com.example.springbootmybatisdemo.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;


//加上注解代表当前是mybatis当中的一个Mapper接口
//在运行时,会自动生成该接口的实现类对象(动态代理对象),并且框架会将该对象交给IOC容器管理
@Mapper
public interface UserMapper {

    /**
     *   需要在接口中定义方法:
     *   1.因为接口中的这个方法要给别人调用,所有用public修饰方法
     *   2.查询的用户有很多个,每条记录会封装为一个用户对象,因为有多条记录,所以封装到一个List集合中,所以返回值类型是List
     *   3.集合中的泛型就是封装的一个个User对象
     *   4.定义方法名:list
     *   5.在方法名上加上注解:因为是查询操作,所以是select注解
     *   6.Select注解的value属性中指定要查询的sql语句:"select * from User"
     */

    /**
     * 查询全部用户信息
     */
    @Select("select * from User")
    public List<User> list();

}

六、测试

1.打开工程生成的测试文件

2.编写测试方法

package com.example.springbootmybatisdemo;

import com.example.springbootmybatisdemo.mapper.UserMapper;
import com.example.springbootmybatisdemo.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest //springboot整合单元测试的注解
class SpringbootMybatisDemoApplicationTests {

    @Autowired  //依赖注入
    private UserMapper userMapper;

    /**
     * 查询全部用户信息
     */
    @Test
    public void selectAllList(){
        /**
         * 1.在selectAllList方法中调用UserMapper中的list()方法,查询全部用户信息
         * 2.因为UserMapper是一个接口,不能直接创建接口的对象,但是在UserMapper接口中加上了@Mapper注解,
         *   会生成代理对象,并交给ioc容器管理,因此它会成为容器中的一个bean对象,我们可以不创建对象而通过依赖注入的方式使用接口中的方法
         * 3.要使用容器中的bean对象,可以通过依赖注入的方式将bean对象注入
         * 4.怎么注入:需要在测试类中声明一个UserMapper类型的对象,再加上@Autowired注解完成依赖注入
         */

        //5.完成依赖注入后,就可以直接通过userMapper调用UserMapper接口中的list方法,来查询用户的所有信息
        //6.将返回值(List<User>)交给一个List集合保存
        List<User> userList = userMapper.list();

        //7.遍历输出userList集合中的每个User对象
        //拿到集合userList,通过stream流将集合变成流,调用forEach方法输出集合中的User对象
        userList.stream().forEach(user -> {
            System.out.println(user);
        });

    }

}

3.运行测试方法

4.查看控制台

其他:虽然能运行成功,但是我好像出了点问题,先保留

Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot是一个快速开发框架,Mybatis Plus是基于Mybatis的增强工具,可以简化Mybatis的开发。下面是使用Spring BootMybatis Plus操作数据库的步骤: 1. 添加依赖 在pom.xml文件添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> ``` 2. 配置数据源 在application.properties文件配置数据源信息: ``` spring.datasource.url=jdbc:mysql://localhost:3306/db_example spring.datasource.username=yourusername spring.datasource.password=yourpassword spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 创建实体类 创建与数据库表对应的实体类,注解@Entity表示该类是实体类,@Table(name="tablename")表示该类对应的数据库表名为tablename。 ``` @Entity @Table(name="user") public class User { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; private String name; private Integer age; // getter and setter } ``` 4. 创建Mapper接口和Mapper.xml文件 使用Mybatis Plus的Mapper接口替代Mybatis的Mapper接口,不需要编写Mapper.xml文件,Mybatis Plus会自动生成。 ``` public interface UserMapper extends BaseMapper<User> { } ``` 5. 编写Service层代码 Service层代码负责实现业务逻辑,调用Mapper层进行数据库操作。 ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> findAll() { return userMapper.selectList(null); } @Override public void save(User user) { userMapper.insert(user); } @Override public void delete(Long id) { userMapper.deleteById(id); } @Override public User findById(Long id) { return userMapper.selectById(id); } @Override public void update(User user) { userMapper.updateById(user); } } ``` 6. 编写Controller层代码 Controller层代码负责接收HTTP请求,并调用Service层进行业务处理。 ``` @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/") public List<User> findAll() { return userService.findAll(); } @PostMapping("/") public void save(@RequestBody User user) { userService.save(user); } @DeleteMapping("/{id}") public void delete(@PathVariable Long id) { userService.delete(id); } @GetMapping("/{id}") public User findById(@PathVariable Long id) { return userService.findById(id); } @PutMapping("/") public void update(@RequestBody User user) { userService.update(user); } } ``` 以上是使用Spring BootMybatis Plus操作数据库的基本步骤,具体实现可以根据自己的需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值