创建一个Mybatis项目

Mybatis学习之路(一)

一、Mybatis+Maven构建web项目

第一步
在这里插入图片描述第二步:一路next。最后Finish
第三步:创建项目目录,也就是红框框里得
在这里插入图片描述
第四步:在pom.xml添加依赖

  <dependencies>
    <!-- ********************** Java Servlet API 4.0.0-b01 ********************** -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.0-b01</version>
    </dependency>

    <!-- ********************** Mysql JDBC驱动 ********************** -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
    </dependency>

    <!-- ********************** Mybatis依赖 ********************** -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.4</version>
    </dependency>

    <!-- ********************** 测试 ********************** -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

第五步:在图中得位置新建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>

    <settings>
        <!--当返回行的所有列都是空时,MyBatis默认返回null-->
        <setting name="returnInstanceForEmptyRow" value="true"/>
    </settings>

    <environments default="development">

        <environment id="development">
            <!--使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域-->
            <transactionManager type="JDBC"/>
            <!--数据库相关参数,一定记得配置啊-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/app?serverTimezone=UTC&amp;useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

            <!--添加一个*Mapper.xml就要添加一个配置,resource的路径取决于你*Mapper.xml的位置 -->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"></mapper>
        <mapper resource="mapper/testMapper.xml"></mapper>
    </mappers>
</configuration>

二、数据库连接测试

这里介绍两种与数据库交互的代码编写方式。

方式一

1.在resources文件夹下新建一个 xxxMapper.xml文件
在这里插入图片描述
2.在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="test">
	<!--id一定要写!!!!!resultType是返回值类型 -->
    <select id="query" resultType="edu.app.bean.User">
        select * from tb_user
    </select>
</mapper>

3.在test目录下新建测试用例

public class daoTest {
    
    
    @org.junit.Test
    public void Test(){
    
    
    	//读配置文件
        String resourse = "Mybatis-Config.xml";
        InputStream inputStream =null;
        try {
    
    
            inputStream = Resources.getResourceAsStream(resourse);
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
        if(inputStream==null){
    
    
            System.out.println("xml is null");
        }
        //新建sql工厂
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        //执行查询,参数是你 上一步中新建的xml文件中的 "命名空间.sql语句id",
        List<User> users=session.selectList("test.query");
        System.out.println(users.size());
    }
}

4.运行测试用例

方式二

此方法较与上一个方法要麻烦些,但个人觉的结构更清晰。
1.在Java源码目录下新建一个接口
在这里插入图片描述
2.写一个查询方法

package edu.app.mapper;

import edu.app.bean.User;

import java.util.List;

public interface test {
    
    

    public List<User> query();
}

3.在resources文件夹下写一个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="edu.app.mapper.test">
<!--id必须与相应的方法名一致!!!!!-->
    <select id="query" resultType="edu.app.bean.User">
        select * from tb_user
    </select>
</mapper>

4.编写测试用例


import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @program: terminal
 * @description:
 * @author: dyq
 * @create: 2020-03-19 21:30
 **/
public class daoTest {
    
    
    @org.junit.Test
    public void Test(){
    
    
        String resourse = "Mybatis-Config.xml";
        InputStream inputStream =null;
        try {
    
    
            inputStream = Resources.getResourceAsStream(resourse);
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
        if(inputStream==null){
    
    
            System.out.println("xml is null");
        }
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        test t = session.getMapper(test.class);
        List<User> users = t.query();
        System.out.println(users.size());

    }
}

5.运行

猜你喜欢

转载自blog.csdn.net/qq_42451178/article/details/104981026