MyBatis【1.0入门案例】

泄露秘密 提交于 2021-01-16 12:57:39

MyBatis入门

1.添加MyBatis相关maven依赖

 <dependencies>
        <!--mybatis相关依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
        <!--mysql数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>
    </dependencies>

2.创建Mybatis核心配置文件

<?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>
    <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:3307/jdbctemp?useSSL=false&amp;serverTimezone=UTC&amp;allowPublicKeyRetrieval=true"/>
                <property name="username" value="root"/>
                <property name="password" value="panyicheng"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 配置对于的Mapper.xml文件-->
    <mappers>
        <mapper resource="FruitMapper.xml"/>
    </mappers>
</configuration>

3.创建数据库以及对应得实体类

public class Fruit {
    private int id;
    private String name;
    private String country;

    public Fruit() {
    }

    public Fruit(int id, String name, String country) {
        this.id = id;
        this.name = name;
        this.country = country;
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    @Override
    public String toString() {
        return "Fruit{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", country='" + country + '\'' +
                '}';
    }
}

4.创建Mapper层文件以及对于的xml配置文件

import com.pyc.bean.Fruit;
import java.util.List;

//相当于原来的Dao层
public interface FruitMapper {
    public List<Fruit> selectAllFruits();

    public Fruit selectFruitById(int id);
}
<?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.pyc.mapper.FruitMapper">
  <select id="selectAllFruits" resultType="com.pyc.bean.Fruit">
        select * from Fruit
  </select>
  <select id="selectFruitById" resultType="com.pyc.bean.Fruit">
        select * from Fruit where id = #{id}
  </select>
</mapper>

5.编写测试类

public class MyBatisTest {
    @Test
    public void test(){
        String resource = "myBatis-config.xml";
        InputStream inputStream = null;
        SqlSessionFactory sqlSessionFactory = null;
        SqlSession sqlSession = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            sqlSession = sqlSessionFactory.openSession();
            FruitMapper fruitMapper = sqlSession.getMapper(FruitMapper.class);
            List<Fruit> fruits = fruitMapper.selectAllFruits();
            fruits.forEach(System.out::println);

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (inputStream != null){
                try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (sqlSession != null){
                sqlSession.close();
            }
        }
    }
}
            FruitMapper fruitMapper = sqlSession.getMapper(FruitMapper.class);
            Fruit fruit = fruitMapper.selectFruitById(1);
            System.out.println(fruit);

 

6.输出结果:

Fruit{id=1, name='西瓜', country='中国'}
Fruit{id=3, name='甘蔗', country='越南'}
Fruit{id=4, name='桃子', country='日本'}

------------------------------------------------

Fruit{id=1, name='西瓜', country='中国'}

主要步骤

1)加载mybatis核心配置文件

2)获取SqlSessionFactory对象

3)获取SqlSession对象

4)获取对应的接口

5)执行对应的接口实现的方法 

6)关闭资源

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!