MyBatis 环境搭建 IDEA

一 利用MyBatis技术查询teacher表中的数据。

  1. 在MySQL数据库中,创建一个名为mybatis的数据库,在此数据库中创建一个teacher表,同时预先插入几条数据。如图所示:

2、创建MyBaitsDemo1项目,编写程序。完成如下操作:

(1)查询tno=“121002”的客户的记录;

(2)查询全部教师记录;

(3)查询姓周的教师记录;

 MyBatis环境搭建的基本步骤:

  1. 创建工程 
  2. 引入相关依赖(pom.xml)
  3. 创建数据库(mybatis)
  4. 创建数据库连接信息配置文件(db.properties)
  5. 创建MyBatis核心配置文件(MybatisConfig.xml)

1.创建项目

我这里是选择Maven框架来搭建环境,点击下一步之后,选择文件的名称

 然后创建MyBatis项目目录

2.引入相关依赖(pom.xml) 

在pom.xml中导入mysql驱动包、junit测试包、mybatis的核心包等相关依赖(自动导入)


<dependencies>
    <dependency>
        <!--mybatis的核心包-->
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.2</version>
    </dependency>

    <dependency>
        <!--MySQL驱动包-->
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <!--JUnit测试包-->
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>RELEASE</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

<build>
    <!--将项目中src/main/java目录下的XML文件编译进classes文件夹-->
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

3.创建数据库(mydatabase)

Navicat for MySQL创建一个名称为mydatabase的数据库

 

4.创建数据库连接信息配置文件(db.properties)

数据库名称数据库密码需要填写自己的

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mydatabase?serverTimezone=UTC&\characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123

 5.创建MyBatis核心配置文件(mybatis-config.xml)(我的是MybatisConfig.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>
    <!--环境配置,加载类路径下的属性文件-->
    <properties resource="db.properties"/>
    <typeAliases>
        <!--自动给pojo包下的实体类以首字母小写的类名作别名-->
        <package name="pojo"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--数据库连接相关配置,db.properties文件中的内容-->
            <dataSource type="POOLED">
                <property name="driver" value="${mysql.driver}"/>
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!--引入映射文件-->
        <mapper resource="Mapper/TeacherMapper.xml"/>
    </mappers>
</configuration>

6.创建pojo实体(Teacher.java)

在src/main/java目录下创建pojo包,创建用来接收映射文件操作反馈的实体类Teacher:

public class Teacher {
    private Integer Tno;
    private String Tname;
    private String Titles;
    private String phone;

    public Teacher(){}

    public Teacher(Integer tno, String tname, String titles, String phone) {
        Tno = tno;
        Tname = tname;
        Titles = titles;
        this.phone = phone;
    }

    public Integer getTno() {
        return Tno;
    }

    public void setTno(Integer tno) {
        Tno = tno;
    }

    public String getTname() {
        return Tname;
    }

    public void setTname(String tname) {
        Tname = tname;
    }

    public String getTitles() {
        return Titles;
    }

    public void setTitles(String titles) {
        Titles = titles;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "Tno=" + Tno +
                ", Tname='" + Tname + '\'' +
                ", Titles='" + Titles + '\'' +
                ", phone='" + phone + '\'' +
                '}';
    }
}

注意,实体类中的属性需要和数据库表中的属性名称相同,我这里是Tno和TNO,这个应该是查询的时候自动匹配的,(应该不区分大小写),如果实体类的是No和数据库的表中的TNO不同,在测试类中返回的Teacherd的No会是NULL。

7.创建映射文件

 在src/main/resources目录下创建一个mapper文件夹,在该文件夹下创建TeacherMapper.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="pojo.Teacher">

    <!--查询所有老师信息-->
    <select id="findAll" resultType="pojo.Teacher">
        select * from teacher
    </select>
    <!--接口中的方法名为findByTNO,id对应的是传入的参数,
    parameterType传入参数类型为整型,resultType是映射返回的类型-->
    <select id="findByTNO" parameterType="int" resultType="pojo.Teacher">
        select * from teacher where TNO = #{id}
    </select>
    
    <select id="findZhou" parameterType="string" resultType="pojo.Teacher">
        select * from teacher where TNAME like concat('%',#{value},'%')
    </select>

</mapper>

第一个查询所有教师的信息,第二个是查询测试类传入id老师的信息,第三个是传入一个字符串,通过concat拼接来查询有关于"周"(例子)的老师的信息。

8.编写测试类(UserTest)

在src/main/java目录下的包下建Test包在该包下创建TeacherTest测试类

import org.junit.Test;

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 pojo.Teacher;

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


public class Teachertest {
    @Test
    public void teacherFindByTest(){
        String resources="MybatisConfig.xml";
        InputStream is=null;
        try{
            is=Resources.getResourceAsStream(resources);
        }catch (IOException e){
            e.printStackTrace();
        }
        SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(is);
        SqlSession session=sqlMapper.openSession();
        Teacher teacher=session.selectOne("pojo.Teacher.findByTNO",121002);        //查询tno=“121002”的客户的记录;
        System.out.println("查询tno=“121002”的客户的记录:");
        System.out.println(teacher);
        List<Object> list=session.selectList("pojo.Teacher.findAll");                //查询全部教师记录;
        System.out.println("查询全部教师记录:");
        for (Object o : list) {
            System.out.println(o.toString());
        }
        System.out.println("查询姓周的教师记录:");
        List<Object> findZhou = session.selectList("pojo.Teacher.findZhou","周");         //查询姓周的教师记录;
        for (Object o : findZhou) {
            System.out.println(o.toString());
        }
        
        session.close();
    }
}

运行结果

以上就是我对于搭建Mybatis环境的实验的全部学习过程,主要参考的是这个博主的内容来完成的,记录一下我的学习过程,看原稿请走MyBatis 环境搭建 IDEA_idea搭建mybatis环境_Fan@SONG的博客-CSDN博客

欢迎大家一起讨论 

  • 33
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值