springboot框架整合mybatis

idea–>File–>spring Initializr
在这里插入图片描述
在这里插入图片描述
在接下来的页面当中,选择web,然后勾上Spring web
在这里插入图片描述
接着选择侧边栏的SQL,把JDBC API 和MySQL Driver勾选上
在这里插入图片描述
在这里插入图片描述
点击finish之后,项目的初始结构就是这个样子了
在这里插入图片描述
接着我们需要在springboot核心配置文件中写关于JDBC的配置,并进行连接测试,以及整合mybatis的关键性配置,分两步走。

  • 首先第一步是:

编写jdbc配置文件信息(Application.properties):
注意如果是mysql8就需要加上serverTimezone=UTC的设置,不然报错

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

测试jdbc连接:

package com.lhh.mybatis_demo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.SQLException;

@SpringBootTest
class MybatisDemoApplicationTests {
    
    

    @Autowired
    private DataSource dataSource;

    @Test
    void contextLoads() throws SQLException {
    
    
        System.out.println(dataSource.getClass());
        System.out.println(dataSource.getConnection());
    }

}

运行结果

在这里插入图片描述

  • 接着第二步是(application.properties):
    在springboot核心配置文件中整合mybatis
#整合mybatis
mybatis.type-aliases-package=com.lhh.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

在这里插入图片描述
接下来写对应的mapper接口和mapper接口的映射文件即可。

UserMappper.java

package com.lhh.mapper;
import com.lhh.pojo.User;
import org.springframework.stereotype.Repository;
import java.util.List;

@Repository
public interface UserMapper {
    
    

    /**
     * 获得用户列表
     *
     * @return 用户列表
     */
    List<User> listUser();

}

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.lhh.mapper.UserMapper">

    <!--结果集映射到实体类当中-->
    <resultMap id="result" type="com.lhh.pojo.User">
        <result column="user_id" property="userId" jdbcType="INTEGER"></result>
        <result column="user_name" property="userName" jdbcType="VARCHAR"></result>
        <result column="user_nickname" property="userNickname" jdbcType="VARCHAR"></result>
        <result column="user_email" property="userEmail" jdbcType="VARCHAR"></result>
        <result column="user_url" property="userUrl" jdbcType="VARCHAR"></result>
        <result column="user_avatar" property="userAvatar" jdbcType="VARCHAR"></result>
        <result column="user_last_login_ip" property="userLastLoginIp" jdbcType="VARCHAR"></result>
        <result column="user_register_ime" property="userRegisterTime" jdbcType="TIMESTAMP"></result>
        <result column="user_last_login_time" property="userLastLoginTime" jdbcType="TIMESTAMP"></result>
        <result column="user_status" property="userStatus" jdbcType="INTEGER"></result>
    </resultMap>

    <!--sql片段,提高复用-->
    <sql id="selectSagement">
    user_id, user_name, user_pass, user_nickname, user_email, user_url, user_avatar,
    user_last_login_ip, user_register_time, user_last_login_time, user_status
    </sql>

    <!--查询所有用户-->
    <select id="listUser" resultMap="result">
        select
        <include refid="selectSagement"></include>
        from user
    </select>

</mapper>

访问的表:
在这里插入图片描述
运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41486775/article/details/110201747