Mybatis映射文件

本文介绍了如何在Java项目中使用Mybatis,包括编写PersonMapper.xml映射文件、创建数据库实体类Person、定义接口PersonMapper,以及通过SQL查询数据并进行单元测试。详细步骤涉及命名空间、ID、参数类型和返回值类型的应用。
摘要由CSDN通过智能技术生成

1.映射文件xxxMapper.xml语法:

<mapper namespace="XXX.XXX.XXX.mapper.PersonMapper">
	<select id="getPersonList" …
		……
	</select>
</mapper>

1.1namespace:命名空间:

namespace必须给某个接口同名;

1.2 id:命名空间中唯一的标识符

接口中的方法与映射文件中的sql语句id一一对应;

1.3 parameterType: 参数类型

传入SQL语句的参数类型

1.4 resultType:返回值类型

SQL语句返回值类型的完整类名或别名

实操:

1.创建工程,导入依赖

 <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
 </dependency>
 <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.1.36</version>
 </dependency>

2.根据数据库表中的表映射创建一个实体类

public class Person {
    private  Integer id;
    private  String name;
    private  String nickname;
    private  Integer age;

    public Person() {
    }

    public Person(Integer id, String name, String nickname, Integer age) {
        this.id = id;
        this.name = name;
        this.nickname = nickname;
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

3. 创建PersonMapper接口

import java.util.List;

public interface PersonMapper {
    public List<Person> getpersonList();
}

4.在PersonMapper.xml映射文件中写sql语句,这里就相当于jdbc里的dao实现类,大大避免了jdbc手动设置参数和结果集的代码;

<?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="xxx.xxx.mapper.PersonMapper">
    <select id="getPersonList" resultType="xxx.xxx.pojo.Person">
        select * from Person 
    </select>
</mapper>

5.创建测试类测试查询结果

 @Test
    public void getPersonListTest() throws IOException {
        String config="mybatis-config.xml";
        InputStream in = Resources.getResourceAsStream(config);
        SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory build = Builder.build(in);
        SqlSession sqlSession = build.openSession();
        List<Person> list = sqlSession.getMapper(PersonMapper.class).getPersonList();
        for(Person p:list){
            System.out.println("name: "+p.getName()+",  age:  "+p.getAge()+",  nickname: "+p.getNickname());
        }
        sqlSession.close();

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值