MyBatis学习笔记一:MyBatis最简单的环境搭建

Posted 愤怒的绿萝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis学习笔记一:MyBatis最简单的环境搭建相关的知识,希望对你有一定的参考价值。

 MyBatis的最简单环境的搭建,使用xml配置,用来理解后面的复杂配置做基础

1.环境目录树(导入mybatis-3.4.1.jar包即可,这里是为后面的环境最准备使用了web项目,如果只是做

mybatis的环境,普通java项目即可 )

 

2.Person.java(纯POJO对象类)

package com.orange.model;

public class Person {

    private String name;
    
    private String address;

    public String getName() {
        return name;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
    
    
}

3.相应的Mapper映射文件PersonMapper.xml(最好在后面加上Mapper组成model_nameMapper.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">
    
<!-- 命名空间为com.orange.model.PersonMapper -->
<mapper namespace="com.orange.model.PersonMapper">
    <!-- 返回的结果为com.orange.model.Person -->
    <select id="selectPerson" resultType="com.orange.model.Person">
        select * from person
    </select>    
</mapper>

这里使用了最简单的方式配置其中select * from person的返回结果mybatis会根据POJO对象中的set方法注入,数据库中数据的字段也必须是一致的否则无法注入

当然,mybatis提供了方法解决字段和属性不一致的问题

4.mybatis的主配置文件mybatis.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>
    <!-- 环境配置,可以配置多个环境,但是只会使用一个,defaut的值是哪个环境的id的值,即使用哪个环境 -->
    <environments default="default">
        <environment id="default">
            <!-- 使用JDBC事务管理器 -->
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED" >
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://172.16.100.10:3306/mybatis?characterEncoding=utf-8"/>
                <property name="username" value="mysql"/>
                <property name="password" value="mysql"/>
            </dataSource>
        </environment>
    </environments>
    
    <!-- 引入映射文件 -->
    <mappers>
        <mapper resource="com/orange/model/PersonMapper.xml"/>
    </mappers>
</configuration>

5.数据库表的配置

6.测试类Test1.java

package mybatistest;

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.orange.model.Person;

public class Test1 {

    public static void main(String[] args){
        try {
            // 读取配置文件到InputStream
            InputStream is =  Resources.getResourceAsStream("mybatis.xml");
            
            // 创建SqlSessionFactory工厂
            SqlSessionFactory factory =  new SqlSessionFactoryBuilder().build(is);
            
            // 开启SqlSession
            SqlSession session =  factory.openSession();
            
            // 使用session查询,这里的第一个参数就是定义的Mapper映射的命名空间和对应的语句组成,如果需要参数,可以加入参数
            Person person = (Person)session.selectOne("com.orange.model.PersonMapper.selectPerson");
            
            System.out.println("name: " + person.getName());
            System.out.println("address: " + person.getAddress());
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

7.测试结果

 

以上是关于MyBatis学习笔记一:MyBatis最简单的环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis学习笔记(一)入门

mybatis学习笔记(一) for 概念

MyBatis学习笔记——MyBatis快速入门

Mybatis学习笔记导航

JAVA学习笔记036-第一个简单的Mybatis程序(代码经验证)

MyBatis学习笔记 注解