亲宝软件园·资讯

展开

mybatis查询数据库数据

lichaohua! 人气:0

一、新建数据库和表

建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了)

二、新建maven项目,添加mybatis依赖

新建一个maven项目,我以往文章有提到如何建一个maven项目,这里不多赘述:

Maven入门—如何在idea中配置Maven

添加依赖,在pom.xml文件上添加以下代码

<dependencies>
        <!--    数据库驱动 版本不能乱用5.1.47  -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
		<!-- 单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <!-- lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
</dependencies>

三、新建实体类、接口(Mapper)

Person实体类

package entity;

public class Person {
    private int id;
    private String name;
    private int age;

    public Person() {
    }

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

    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 int getAge() {
        return age;
    }

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

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

PersonMapper接口

import entity.Person;
import java.util.List;

public interface PersonMapper {
    //查询所有数据
    public List<Person> getPerson();
}

四、新建实现类(使用.xml映射文件)

在resources目录下新建一个PersonMapper.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">

<!-- 映射     namespace : 和哪个接口有映射关系-->
<mapper namespace="mapper.PersonMapper">
    <!--
        select标签中的语句  需要和接口中哪个方法有映射关系
        id         : 接口中的方法名
        resultType:  方法的返回类型(写全类名)
     -->
    <select id="getPerson" resultType="entity.Person">
        select * from person
    </select>
</mapper>

五、新建全局配置文件(mybatis-config.xml)

在resources目录下新建一个mybatis-config.xml文件

数据库密码(password)写你自己的

<?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  多环境配置
         environment   配置数据源
         transactionManager     事务管理器
         dataSource     数据源
     -->
    <environments default="p1">

        <environment id="p1">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 注册映射  -->
    <mappers>
        <mapper resource="PersonMapper.xml"/>
    </mappers>
</configuration>

六、编写demo类,进行测试查询数据库

1、读取配置文件

2、根据配置文件构建工厂

3、获取会话

4、获取Mapper对象

5、执行方法

6、关闭会话

public class demo {
	@Test
    public void test2() throws IOException {
        //读取配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        //根据配置文件构建工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获取会话
        SqlSession sqlSession = sessionFactory.openSession();
        //获取Mapper对象
        PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
        //执行方法
        List<Person> person = personMapper.getPerson();
        System.out.println(person);
        //关闭会话
        sqlSession.close();
    }
 }

输出结果

总结

加载全部内容

相关教程
猜你喜欢
用户评论