dao层怎么测试_毕业设计之Mybatis搭建(一)—安装Mybatis及连接和测试

一个网络应用例如Web应用、移动应用都可以大致划分为三层架构:

03d52f93d19ea79467b518c14f4da5b1.png

应用构建常用架构

其中和用户直接交互的是UI层,是影响应用体验感受的最直观的层。其次是服务层,用户在使用应用的过程中会产生大量的数据和请求,服务层需要实现用户请求和数据的处理,是用户功能体验的关键。Dao层则是隐藏在整个应用的最底层架构,该层需要实现各种接口的底层实现,例如数据库的连接,增删查改等具体操作,为Service层提供易用的接口。(为了使开发时更容易理解,可以在Service和Dao层之间添加一层,用于实现对各个功能的具体化,这可以使Service层简化,也使整个架构更易于维护)。但是,在开发Dao层的时候,会有很多冗余的代码,既不易于理解,也不利于维护,因此,我选择使用Mybatis进行Dao层数据持久化(DB)的搭建。它采用了XML文件进行增删查改语句的管理,也提供了很多易于使用的句柄和封装,这可以使我的开发工作变得简便。


Mybatis在IntellJ IDEA上是收费的,这使得我不得不使用Eclipse进行开发。开发前所需准备的工作:

  • Eclipse开发软件
  • Mybatis插件包
  • mysql的JDBC包
  • mysql数据库安装

Mybatis的插件包可以在 https://github.com/mybatis/mybatis-3/releases进行下载,mysql及其JDBC可以在mysql的官方网站进行下载。下载完插件包后,在Eclipse上新建一个工程,将ZIP包中的mybatis-3.5.3.jar拷贝进项目并构建路径到库中,同理于JDBC。

6ea2c5a8877ec1053215b7980ed12380.png

引入库后的情况

在mysql中创建一个test表,里面随便填入几个数据,在项目中创建相应的Entity类,并在类中实现所有数据的getter,setter,构造和toString方法。

public class TestPerson {     private int Test_id;     private String Test_name;     private int Test_age;     public TestPerson() {                }     public TestPerson(int test_id, String test_name, int  test_age) {           Test_id = test_id;           Test_name = test_name;           Test_age = test_age;     }     @Override     public String toString() {           return "TestPerson [Test_id=" + Test_id + ",  Test_name=" + Test_name + ", Test_age=" + Test_age + "]";     }     public int getTest_id() {           return Test_id;     }     public void setTest_id(int test_id) {           Test_id = test_id;     }     public String getTest_name() {           return Test_name;     }     public void setTest_name(String test_name) {           Test_name = test_name;     }     public int getTest_age() {           return Test_age;     }     public void setTest_age(int test_age) {           Test_age = test_age;     }}

要使用Mybatis就需要配置相应的XML,进行数据库的连接以及SQL语句的管理(相应的文档可以参考ZIP中的PDF(英文版),也可以参考https://mybatis.org/mybatis-3/zh/getting-started.html(中文版)。首先是config.xml,配置连接数据库的各种参数:

<?xml version="1.0" encoding="UTF-8" ?>

该文件需要置换的数据是property中的几个value。第一个是数据库的JDBC,注意,JDBC的版本分为com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver,注意版本区分(新版普遍是com.mysql.cj.jdbc.Driver),第二个是数据库的地址,ORACLE和MYSQL的写法不同,我用的是MYSQLjdbc:mysql://数据库地址:数据库端口号/数据库名字?serverTimezone=UTC,最后的serverTimezone不能省略否则会报错,第三个是用户名,第四个是密码。接着配置Entity对应的Mapper,新建一个Mapper.xml文件,下面是配置代码:

<?xml version="1.0" encoding="UTF-8" ?>-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  -------------------------------------------------------------------------------------         select * from test where Test_id = #{Test_id}                 select * from test where Test_name = #{Test_name}     --------------------------------------------------------------------------------------

在配置文件中加粗字体是需要置换的信息,namespace是该Mapper所在的位置,中id是sql语句的名字(写过xml的同学应该不陌生),resultType是返回值的类型,parameterType是参数的类型,之后就是sql语句。值得注意的是,你的Entity与数据库所对应的表中的名字应完全相同,否则就会出现查询为空的情况。最后贴一张数据库的照片和最后的结果:

306fdb7127c11008d900b69877aacebb.png
756581b04326150532569b48e07e230c.png

第一天Mybatis的基础配置和使用测试结束了。

(2020-1-9日报)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值