IDEA2021 Mybatis的基本使用

Mybatis的基本使用

1.新建一个maven工程

选择Maven项目–> 勾选Create from archetype–>选择webapp

在这里插入图片描述

2.配置好项目名称和GroupId

在这里插入图片描述

3.选择安装好的maven路径

在这里插入图片描述
点击finish即可完成项目创建

4.目录配置

新建java工程文件和resource资源文件
在这里插入图片描述

  • 添加Java文件夹为Java源代码文件夹
    在这里插入图片描述
  • 将resource文件夹标记为资源目录
    在这里插入图片描述
  • 或者可以在设置中配置
    在这里插入图片描述
  • 直接点击即可修改
    在这里插入图片描述

4.1.目录基本结构

在这里插入图片描述

5.pom文件配置

导入mybatis和mysql驱动依赖到maven仓库中
在这里插入图片描述

6.代码实现

在bean包下新建数据库表的实体类

package com.qingruan.bean;

public class Dept {
    private Integer depno;

    private String depName;

    private String deptLoc;

    public Dept(){}

    public Dept(Integer depno, String depName, String deptLoc) {
        this.depno = depno;
        this.depName = depName;
        this.deptLoc = deptLoc;
    }

    public Integer getDno() {
        return depno;
    }

    @Override
    public String toString() {
        return "Dept{" +
                "depno=" + depno +
                ", depName='" + depName + '\'' +
                ", deptLoc='" + deptLoc + '\'' +
                '}';
    }

    public void setDepno(Integer depno) {
        this.depno = depno;
    }

    public String getDepName() {
        return depName;
    }

    public void setDepName(String depName) {
        this.depName = depName;
    }

    public String getDeptLoc() {
        return deptLoc;
    }

    public void setDeptLoc(String deptLoc) {
        this.deptLoc = deptLoc;
    }
}

在dao包下新建Dao接口

package com.qingruan.dao;

import com.qingruan.bean.Dept;

import java.util.List;

public interface IDeptDao {

    /**
     * 查询所有部门信息
     * @return 返回所有部门信息
     */
    List<Dept> findAllDept();
}

新建接口类的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="com.qingruan.dao.IDeptDao">
    <select id="findAllDept" resultType="com.qingruan.bean.Dept">
        select  * from dept
    </select>
</mapper>

mybatis配置文件
在这里插入图片描述

<?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="mysql">
        <environment id="mysql">
            <!--事务管理类型主要有jdbc和managed,前者依赖于数据源获得的连接,后者依赖于容器 -->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!-- 如果数据库设置为UTF-8,则URL参数连接需要添加?useUnicode=true&amp;characterEncoding=UTF-8,如下 -->
                <property name="url"
                          value="jdbc:mysql://localhost:3306/java_test?useUnicode=true&amp;characterEncoding=UTF-8"/>
                <--数据库用户名-->
                <property name="username" value="root"/>
                <--数据库密码-->
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

<!--  告知mybatis映射配置的位置-->
    <mappers>
        <mapper resource="com/qingruan/dao/IdeptDao.xml"></mapper>
    </mappers>
</configuration>

在test包下新建测试类
在这里插入图片描述

package com.qingruan.test;


import com.qingruan.bean.Dept;
import com.qingruan.dao.IDeptDao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import org.apache.ibatis.io.Resources;

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

public class MybatisTest {
    @Test
    public void testFindAllDept() throws Exception{
        //读取mybatis主配置文件
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");

        //创建sqlSessionFactory的构建者对象
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

        //通过构建者对象创建工厂对象
        SqlSessionFactory sessionFactory = builder.build(is);

        //获得session对象
        SqlSession session = sessionFactory.openSession();

        //使用session创建dao接口的代理对象
        IDeptDao dao = session.getMapper(IDeptDao.class);

        //使用dao代理对象来执行查询所有的方法
        List<Dept> depts = dao.findAllDept();
        for (Dept dept : depts) {
            System.out.println(dept.toString());
        }

        //释放资源
        session.close();
        is.close();
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ζZetaζ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值