Mybatis入门:环境配置以及封装依赖

前言:

关于对Dao(数据访问层)内的增删改查功能里繁琐的内容进行封装,以便简化日后的操作——导入对应的依赖即可。同时初步认识并配置我们的Mybatis环境。

在之前的学习当中,实体类需要定义get、set方法,构造方法和toString;尽管在工具的帮助下省略了部分操作,但这不是我们想要的。

因此,我们需要封装,导入依赖来实现如下结果:

可以看到我们将方法全部以导入依赖的方式处理,这样大大的增加了代码的可维护性和可读性。

一、导入依赖

我们新建一个项目,并对该项目的pom.xml文件进行配置:

这里将JUnit 版本更改为高一点的4.13.2版本,同时加入与数据库的连接;

接着进入mybatis的官网找到最新的版本进行配置。

完成上述三个配置后,我们Mybatis的XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)。后面会再探讨 XML 配置文件的详细内容,这里先给出一个简单的示例:

注意,这里要导入我们的配置文件:

<properties resource="config.properties"/>

如果没有对应的配置文件则需要新建一个。后面对应的赋值要改为我们相应的文件内容:

 <property name="driver" value="${jdbc.driver}"/>
 <property name="url" value="${jdbc.url}"/>
 <property name="username" value="${jdbc.username}"/>
 <property name="password" value="${jdbc.password}"/>

二、数据持久化操作

我们先来看一下mapper层的作用:

对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射

如果不清楚各种包(层)是做什么作用的,可以参考以下内容:

https://blog.csdn.net/Restarting2019/article/details/122296373

https://blog.csdn.net/u011095110/article/details/86088976

接下来我们为实体类Dept建立一个功能接口及对应的实现类和.xml文件,用以实现我们需要的增删改查功能。

DeptMapper.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">
 <!-- namespaces属性将xml文件和接口关联 -->
 <mapper namespace="com.hrms.mapper.DeptMapper">
      <select id="queryAll" resultType="com.hrms.entity.Dept">
         select * from dept
     </select>
 </mapper>

接着我们可以对配置文件进行优化:

在mybatis-config.xml文件中:

    <typeAliases>
        <package name="包的路径名"/>
<!--    或者    <typeAlias type="包的路径名" alias="Dept"/>-->
    </typeAliases>

接着可以配置日志信息:

    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

那么在DeptMapper.xml文件当中就可以对返回值进行优化:

直接改为Dept即可

这里需要注意的是,如果发现执行结果出现id为0,name为null的情况,可能是与数据库表当中的列命名不符,需要更改select  列id名  as id,列name名 as deptName,remark form dept(不需要分号)

三、测试

一切准备妥当之后,我们测试一下:

public class App 
{
    public static void main( String[] args ) throws IOException {
        //加载核心配置文件
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        //创建SqlSessionFactory
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //得到SqlSession
        SqlSession sqlSession=sessionFactory.openSession();
        //得到mapper实现类
        DeptMapper mapper=sqlSession.getMapper(DeptMapper.class);

        List<Dept> list =mapper.queryAll();
        for (Dept dept : list) {
            System.out.println(dept);
        }
    }
}

 请注意,本文仅展示了初步的操作,没有揭露后续的增删改查的封装操作。同时,需要明白框架本身的定义是一个半成品,是辅助和简化操作的工具。

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值