【JavaEE案例】MYBatis入门程序

1.创建工程:启动IntelliJ IDEA,选择工具栏中的“File”→“New”→“Project”选项

 

2.数据准备:在MySQL中创建一个名称为mybatis的数据库。

CREATE DATABASE mybatis;

在数据库中创建users表 

CREATE TABLE users(
	uid int primary key auto_increment,
	uname varchar(20) not null,
	uage int not null
);

并插入几条测试数据

INSERT INTO users(uid,uname,uage) VALUES(null,'张三',20),(null,'李四',18);

3.引入相关依赖:在项目的pom.xml文件中导入MySQL驱动包、JUnit测试包、MyBatis的核心包等相关依赖。  

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.mybatis</groupId>
    <artifactId>MyBatisTest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.11</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

</project>

4.创建POJO实体:在com.itheima.pojo包下创建User类,该类用于封装User对象的属性。

package com.itheima.pojo;

public class User {
    private int uid;
    private String uname;
    private int uage;

    public int getUid() {
        return uid;
    }
    public void setUid(int uid) {
        this.uid = uid;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public int getUage() {
        return uage;
    }
    public void setUage(int uage) {
        this.uage = uage;
    }
}

5.创建映射文件UserMapper.xml:该文件主要用于配置SQL语句和Java对象之间的映射 。

<?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为映射的根节点-->
<!--mapper为映射的根节点,namespace指定Dao接口的完整类名
    mybatis会依据这个接口动态创建一个实现类去实现这个接口,
    而这个实现类是一个Mapper对象-->
<mapper namespace="com.itheima.pojo.User">
    <!--id="接口中的方法名"
    parameterType="传入的参数类型"
    resultType="返回实体类对象,使用包.类名"-->
    <select id="findById" parameterType="int"
            resultType="com.itheima.pojo.User">
        select * from users where uid = #{id}
    </select>
</mapper>

6.创建数据库连接信息配置文件db.properties:在该文件中配置数据库连接的参数。

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&\
  characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=root

7.创建MyBatis的核心配置文件mybatis-config.xml:该文件主要用于项目的环境配置。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--环境配置-->
    <!--加载类路径下的属性文件-->
    <properties resource="db.properties"/>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--数据库连接相关配置,db.properties文件中的内容-->
            <dataSource type="POOLED">
                <property name="driver" value="${mysql.driver}"/>
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>
            </dataSource>
        </environment>
    </environments>

    <!--mapping文件路径配置,用于将UserMapper.xml映射文件加载到程序中-->
    <mappers>
        <mapper resource="Mapper/UserMapper.xml"/>
    </mappers>

</configuration>

8.编写测试类

package Test;
import com.itheima.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.Reader;

public class UserTest {
    @Test
    public void userFindByTest() {
        String resources = "mybatis-config.xml";
        //创建流
        Reader reader = null;
        try {
            //读取mybatis-config.xml文件内容到reader对象中
            reader = Resources.getResourceAsReader(resources);
        }catch (IOException e) {
            e.printStackTrace();
        }
        //初始化MyBatis数据库,创建SqlSessionFactory类的实例
        SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
        //创建SqlSession实例
        SqlSession session = sqlMapper.openSession();
        //传入参数查询,返回结果
        User user = session.selectOne("findById",1);
        //输出结果
        System.out.println("\n"+user.getUname());
        //关闭session
        session.close();
    }
}

9.运行结果

猜你喜欢

转载自blog.csdn.net/weixin_66697650/article/details/129463483