Mybatis的基本步骤

首先先看看整个项目图

1. 引用相关的Mybatis包

最总要的是Mybatis-xxx.jar

2.引用数据库的驱动包

例如mysql的,就引用mysql-connector-jar-xxx.jar

3.在工程里创建一个config的文件夹,下面主要放置项目的一些配置文件

MyBatis这里需要以下几个

  • jdbc.properties - jdbc的一些配置
jdbc.DriverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/abc
jdbc.username=root
jdbc.password=root
  • mybatis.xml(这是一个mybatis的默认配置文件名称)
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这里需要留意的是 configuration 和 Config mybatis-3-config.dtd 如果在Mapper 这里的值是不一样的 -->
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <!-- properties加载指定路径的jdbc配置文件 -->
    <properties resource="jdbc.properties"></properties>

    <!-- 数据库池信息 -->
    <environments default="development">
        <environment id="development">
            <!-- 实务管理 -->
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <!-- 这里的value是对应jdbc.properties里面的值,所以如果没有引用jdbc的配置文件,可以直接写值 -->
                <property name="driver" value="${jdbc.DriverClassName}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>

        </environment>
    </environments>

    <mappers>
        <!-- 这里的resource对应的是配置文件的相对路径名如果文件是放在com.test.model下,那这里就需要写成com/test/model/user.xml -->
        <mapper resource="user.xml"></mapper>
    </mappers>
</configuration>
  • 数据库表映射配置,假如你的表叫user,对应config下就放对应的映射文件,user.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="user">

    <!-- 这里的id是唯一标识 -->
    <!-- 这里的parameterType的值是入参类型,多参数传递需要使用其它方式,请看多参数传递的文章 -->
    <!-- 这里的resultType是返回值,这里的意思就是放回一个对应的对象 -->
    <!-- 这里的#{}里面的值名称需要和方法中的第一个参数名一致 -->
    <select id="getUserById" parameterType="java.lang.String" resultType="com.test.model.User">
        select * from users where id=#{id}
    </select>
</mapper>

4. 最后是Java代码

package com.test;

import java.io.IOException;
import java.io.InputStream;

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 com.test.model.User;

public class MybatisTest {

    public static void main(String[] args) throws IOException {

        //读取配置文件
        InputStream configFile = Resources.getResourceAsStream("mybatis.xml");

        //根据配置文件新建一个工作方法
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configFile);

        //利用工程方法启动一个session,这里要注意的是openSession的时候可以添加参数,openSession(boolean),这个参数代表是否自动提交事务,默认为false
        SqlSession session = factory.openSession();

        //调用查询方法
        String id = "1";
        User user = session.selectOne("user.getUserById",id);

        System.out.println(user);

        session.close();
    }
}
原文地址:https://www.cnblogs.com/oscar1987121/p/10744163.html