SpringBoot

Posted jiaxing-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot相关的知识,希望对你有一定的参考价值。

SpringBoot整合MyBatis

1、环境搭建

1、新建项目

2、导入依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>

3、编写配置文件

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver

4、测试类运行测试

@SpringBootTest
class Springboot05MybatisApplicationTests 

    @Autowired
    DataSource dataSource;
    @Test
    void contextLoads() throws SQLException 
        System.out.println("getClass ===>" + dataSource.getClass());
        System.out.println("getConnection ===>" + dataSource.getConnection());
    


2、创建实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User 
    private int id;
    private String name;
    private String pwd;

(如要使用如上三个注解,需要导入Lombok依赖)

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.26</version>
</dependency>

3、创建Mapper接口

@Mapper // 这个注解表示了这是一个mybatis的mapper类
@Repository
public interface UserMapper 

    // 查询全部用户
    List<User> queryUserList();

    // 根据Id查询用户
    User queryUserById();

    // 增加用户
    int addUser(User user);

    // 删除用户
    int deleteUser(int id);

    // 修改用户
    int updateUser(User user);
    

如不写@Mapper,可在主程序入口添加扫描包注解@MapperScan("com.kuang.mapper"),该包下所有接口都会被扫描

4、编写UserMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kuang.mapper.UserMapper">
    <select id="queryUserList" resultType="user">
        select * from mybatis.user
    </select>
    
    <select id="queryUserById" resultType="user">
        select * from mybatis.user where id = #id
    </select>

    <insert id="addUser" parameterType="user">
        insert into mybatis.user (id, name, pwd) VALUES (#id,#name,#pwd)
    </insert>

    <update id="updateUser" parameterType="user">
        update mybatis.user
        set name = #name,
            pwd  = #pwd
        where id = #id;
    </update>

    <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id = #id
    </delete>
</mapper>

别名要在application.yaml文件中配置

mybatis:
  type-aliases-package: com.kuang.pojo
  # 文件路径
  mapper-locations: classpath:com/kuang/mapper/*.xml

全注解开发

1、编写UserMapper类

@Mapper
@Repository
public interface UserMapper 
    // 查询全部
    @Select("select * from mybatis.user")
    List<User> queryAll();

    // 根据id查询
    @Select("select * from mybatis.user where id = #id")
    User getById(@Param("id") int id);

    // 添加
    @Insert("insert into mybatis.user(`id`,`name`,`pwd`) values(#id,#name,#pwd)")
    int addUser(User user);

    // 修改
    @Update("update mybatis.user set `name` = #name,`pwd` = #pwd where `id` = #id")
    int updateUser(User user);

    // 删除
    @Delete("delete from mybatis.user where `id` = #id")
    int deleteUser(@Param("id")int id);

省略了UserMapper.xml配置文件的编写

2、如以往一样用其他类调用就可以了

以上是关于SpringBoot的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot入门到精通-SpringBoot自定义starter

SpringBoot.06.SpringBoot日志管理

SpringBoot.06.SpringBoot日志管理

最全面的SpringBoot教程——SpringBoot概述

SpringBoot入门到精通-SpringBoot集成SSM开发项目

如何把springboot插件删除干净