Mybatis入门实例

1.如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

2、每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

2.1、XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)。我们要把mybatis的核心配置文件放在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://localhost:3306/mybatisT?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="qwer1234"/>
            </dataSource>
        </environment>
    </environments>
    
    //这里是要注册Mapper
    <mappers>
        <mapper resource="com/hj/dao/UserMapper.xml"/>
    </mappers>
</configuration>

 

2.2、从 XML 文件中构建 SqlSessionFactory 的实例非常简单,这里由于经常用到我们把它封装在工具类中

public class MybatisUtils {

    private static SqlSessionFactory sqlSessionFactory;

    static {

        try {
            //使用mybatis第一步:获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
//    既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。例如:
    public static SqlSession getSqlSeession(){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        return sqlSession;
    }

}

3、通过创建UserMapper.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==绑定一个对应的Dao/Mapper-->
<mapper namespace="com.hj.dao.userDao">
    <!-- select 查询语句-->
    <select id="getUserList" resultType="com.hj.pojo.user">
        select * from  mybatisT.user
    </select>
</mapper>

4、junit 调用测试mybatis入门查询项目

package com.hj.dao;

import com.hj.pojo.user;
import com.hj.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

/**
 * Created by hj_Ma on 2020/6/3.
 */
public class UserDaoTest {

    @Test
    public void getListUser(){
        
        //1.获取sqlsession对象
        SqlSession sqlSeession = MybatisUtils.getSqlSeession();

         //方式一  getMapper 推荐
        userDao mapper = sqlSeession.getMapper(userDao.class);
        List<user> userList = mapper.getUserList();

        //方式二
//        List<user> userList = sqlSeession.selectList("com.hj.dao.userDao.getUserList");
        
        for (user user:userList){
            System.out.println(user.getName() );
        }
        //千万不要忘记释放资源
        sqlSeession.close();
    }
}

5.最后附上一张demo结构图

 

posted @ 2020-06-03 11:09  hjMa  阅读(196)  评论(0编辑  收藏  举报