mybatis

mybatis官网:https://mybatis.org/mybatis-3/index.html
在这里插入图片描述
mybatis就是替代传统的JDBC(Java中操作数据库的接口),帮程序员将数据存入到数据库中,实现sql与代码的分离。
mybatis架包通过maven导入:
在这里插入图片描述
1.三层架构
1.界面层(User Interface Layer):又称表示层、视图层,主要功能是接受用户的数据,显示请求的处理结果,例如jsp,html,servlet。
2.业务逻辑层(Business Logic Layer):接收表示传递来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。
3.数据访问层(Data Access Layer):也称持久层,与数据库打交道,主要实现对数据的增删改查,将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。
在这里插入图片描述
三层对应的包:
界面层:controller包(servlet)
业务逻辑层:service包(xxxservice类)
数据访问层:dao包(xxxDao类)

三层对应的处理框架:
界面层–servlet–springmvc
业务逻辑层–service类–spring
数据访问层–dao类–mybatis

2.mybatis是一个基于java的持久层(数据访问层)框架,是一个SQL Mapper Framework for Java(sql映射框架)
在这里插入图片描述
3.mybatis使用步骤
在这里插入图片描述
(1)在本地Mysql数据库创建一个students表:
在这里插入图片描述
(2)在pom.xml中新增两个依赖
在这里插入图片描述

注意:上述导包的书写格式可以去网站查找:
在这里插入图片描述

reload包:
在这里插入图片描述
查看下载:
在这里插入图片描述
(3)添加一个实体类(建议类名与数据库中表名一致),类中属性与表中列一致,且加上get(),set()和类的toString()方法。
在这里插入图片描述
(4)添加Dao层,实体类的接口,该接口包含一个返回值为实体类对象列表(查询数据库中表的结果):
在这里插入图片描述
(5)添加映射文件(与Dao接口在同一目录中,文件名称与对应的接口的名称保持一致):映射文件实际上是对实体类接口中方法的实现
在这里插入图片描述
在这里插入图片描述
mapper标记的namespace属性值为对应实体类接口的全限定名称(即从java目录下开始的文件路径)
mapper中可以有四种标签:
在这里插入图片描述
select标记中的id属性值为接口中的方法名,resultType方法返回列表中对象的类型的全限定名称。
(6)在resources文件夹下创建一个mybatis.xml用于连接数据库(格式依然在网站上复制)
在这里插入图片描述

注意这里的全限定名称用“/”不用“.”。

只需要注意的是:
environments标记中的default值表示选中的environment标记(environments标记中可以含有多个environment标记,表示多个环境,而根据id值选中其中一个作为所需环境);
name为url的property标记中的value属性值3306/后面是数据库名(即这里的数据库名是mysql);
name为username的property标记中的value属性值是数据库用户名;
name为password的property标记中的value属性值是数据库用户密码。

mappers标记指定映射文件的位置,一个mapper标记对应一个实体类接口映射文件(如此例中的StudentsDao.xml),标记中的resource属性值为映射文件的全限定名称。
(7)在pom.xml文件中加一个插件:
在这里插入图片描述
该插件可以保证编译时能把src文件夹下的所有.xml文件都能相应地在target文件夹下生成。
(8)新建一个类MyApp测试
在这里插入图片描述
在这里插入图片描述

测试结果:
在这里插入图片描述
4.在main()方法里的许多步骤都是重复的 ,可以对其进行封装,在utils包下添加一个MybatisUtils类:
在这里插入图片描述
直接调用,简化代码:
在这里插入图片描述
update标签:
在这里插入图片描述
delete标签:
在这里插入图片描述
parameterType属性可写可不写。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值