Mybatis调用操作-入门

文章目录

    • 文件结构
    • 对象类和Mapper接口
    • 编写调用类
    • 步骤说明

参考网址:https://mybatis.org/mybatis-3/zh/getting-started.html
接上一个JDBC数据库操作之后,然后使用Mybatis进行数据库操作。
https://github.com/mybatis/mybatis-3/releases

文件结构

Mybatis调用操作-入门_第1张图片
配置文件
pom.xml

<?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">
    <parent>
        <artifactId>mybatissimple01</artifactId>
        <groupId>com.ycxy</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mybatis01</artifactId>
<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.4</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.19</version>
    </dependency>

</dependencies>

</project>

resources
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>
    <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://192.168.172.130:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="Websites.xml"/>
    </mappers>
</configuration>

Mapper文件Websites.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">
<mapper namespace="com.ycxy.WebsitesMapper">
    <select id="selectOne" resultType="com.ycxy.Websites">
        select * from websites where id = #{id}
    </select>
</mapper>

对象类和Mapper接口

Websites.java

package com.ycxy;

public class Websites {
    private int id;
    private String name ;
    private String url;
    private int alexa;
    private String 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 getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public int getAlexa() {
        return alexa;
    }

    public void setAlexa(int alexa) {
        this.alexa = alexa;
    }

    public String getCountry() {
        return country;
    }

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

    @Override
    public String toString() {
        return "id:"+id + " name: "+ name + " url: " + url;
    }
}

WebsitesMapper.java

package com.ycxy;

import java.util.List;

public interface WebsitesMapper {
    public Websites selectOne(int id);
}

编写调用类

package com.ycxy;

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 java.io.InputStream;

public class MybatisStudy {
    public static void main(String[] args) throws Exception {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        //以前的版本
        //Websites websites = (Websites) session.selectOne("com.ycxy.WebsitesMapper.selectOne", 1);
        WebsitesMapper mapper = session.getMapper(WebsitesMapper.class);
        Websites websites = mapper.selectOne(1);
        System.out.println(websites.toString());
        session.close();
        inputStream.close();
    }
}

id:1 name: Google url: https://www.google.cm/

步骤说明

  • 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory
    的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从
    XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
  • 从 SqlSessionFactory 中获取 SqlSession
  • WebsitesMapper mapper = session.getMapper(WebsitesMapper.class);
  • mapper 调用方法

你可能感兴趣的:(#,数据库技术-Mybatis,mybatis)