mybatis的第一个程序

本文介绍了如何搭建Mybatis的开发环境,包括创建Maven工程、引入依赖、配置数据源、创建实体类、工具类、Mapper接口和XML文件。通过测试类展示了如何执行SQL查询并获取结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis的第一个程序

一、新建一个maven工程项目

在这里插入图片描述

二、引入依赖,包括MySQL依赖、jdbc连接依赖、lombok依赖和测试依赖

<dependencies>
        <!--MySQL-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

此外还需要在pom文件中创建resources数据源,防止资源导出失败的问题

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

三、创建mybatis-config.xml文件,在这里面配置数据源和数据库的一些参数:

<configuration>

    <environments default="development">
        <environment id="development">
            <!--事务管理-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="com.pan.dao.UserMapper"/>
    </mappers>
</configuration>

四、在mysql中创建一个数据库mybatis和user表来做测试

五、创建实体类User,其属性和数据库表的字段对应

package com.pan.pojo;

import lombok.Data;

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

}

六、创建一个工具类,得到sqlsession对象,就是通过此对象来拿到对应的mapper文件,进而执行mapper中的方法

public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {

        try {
            //固定代码,使用mybatis获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }



//    既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
//    org.apache.ibatis.session.SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。

    public static SqlSession getSqlSession(){

//获取SqlSession对象
        return sqlSessionFactory.openSession(true);
    }

}

七、创建数据库操作层dao,新建两个文件,分别是UserMapper接口和UserMapper.xml文件,分别存放对数据库操作的方法和具体的方法使用的SQL语句。在这里插入图片描述

UserMapper接口

public interface UserMapper {
    List<User> getUserList();
}

UserMapper.xml

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace绑定对应的接口-->
<mapper namespace="com.pan.dao.UserMapper">
    <select id="getUserList" resultType="com.pan.pojo.User">
    select * from mybatis.user
  </select>

</mapper>

第八步,创建测试类,测试查询结果能否从数据库中得到。

public class UserMapperTest {
    @Test
    public void getUserTest(){
        //通过工具类拿到sqlsession
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //通过sqlSession拿到相应的mapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //通过mapper调用mapper中的方法
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }

}

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值