首页 > 其他分享 >3.14毕设

3.14毕设

时间:2024-03-16 20:35:28浏览次数:23  
标签:Mapper 毕设 定义 配置文件 创建 代码 3.14 MyBatis

1.MyBatis简介
1.1JDBC存在的问题1.
数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。
2.Sql语句在代码中硬编码,造成代码不易维护,实际应用sl变化的可能较大,sql变动需要改变java代码。
3.使用preparedStatement向占位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改Sq还要修改代码,系统不易维护。
4.对结果集解析存在硬编码(查询列名),$q变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。
上面的问题,借助于第三方工具如DBUtils或者Spring中自带的数据库操作框架JdbcTemplate,都可以在一定程度上解决该问题。但是不完美,真正能解决这些问题的框架就是两大类,一种就是MyBatis,另一种则是Jpa。

 

首先创建一个普通的Maven工程,添加MyBatis依赖:

接下来,准备一个Mapper文件,Mapper是用来在MyBatis中定义SQL的XML配置文件,由于在实际开发中,我们经常需要使用到Mapper,经常需要自己创建Mapper文件,因此,我们可以将Mapper文件做成一个模板。具体操作如下:

配置完成后,再次创建Mapper文件时,就可以选择New->mapper了,这里,创建一个UserMapper:

创建一个新的mapper,需要首先给它取一个namespace,这相当于是一个分隔符,因为我们在项目中,会存在很多个Mapper,每一个Mapper中都会定义相应的增删改查方法,为了避免方法冲突,也为了便于管理,每一个Mapper都有自己的namespace,而且这个namespace不可以重复。接下来,在Mapper中,定义一个简单的查询方法,根据id查询一个用户:

在Mapper中,首先定义一个select,id表示查询方法的唯一标识符,resultType定义了返回值的类型。在select节点中,定义查询SQL,#{id},表示这个位置用来接收外部传进来的参数。
定义的User实体类,如下:

 接下来,创建MyBatis配置文件

 在这个配置文件中,只需要配置environments和mapper即可,在mappers节点中,定义Mapper,也就是指定我们上一步所写的Mapper的路径。

最后,加载这个主配置文件:

 我们可以对SqlSessionFactory进行封装

这样,在需要使用的时候,通过这个工厂方法来获取SqlSessionFactory的实例。

 

标签:Mapper,毕设,定义,配置文件,创建,代码,3.14,MyBatis
From: https://www.cnblogs.com/zhiqi2625/p/18077537

相关文章

  • 3.15毕设
    前面的HelloWorld,只做了一个查询的Demo,这里尝试另外四种常见的操作。  前面所写的增删改查是存在问题的。主要问题就是冗余代码过多,模板化代码过多。例如,开发一个serDao,可能是下面这样: 引入Mapper,UserDao就基本上用不到了,因为框架已经帮我们做好了 ......
  • 3.13毕设
    Aop(AspectOrientedProgramming),面向切面编程,这是对面向对象思想的一种补充。面向切面编程,就是在程序运行时,不改变程序源码的情况下,动态的增强方法的功能,常见的使用场景非常多:1.日志 2.事务 3.数据库操作这些操作中,无一例外,都有很多模板化的代码,而解决模板化代码,消除臃肿......
  • 3.12毕设
    Aware接口,从字面上理解就是感知捕获。单纯的一个Bean是没有知觉的。在之前的场景中,之所以UserDao能够注入到UserService,有一个前提,就是它两个都是被Spring容器管理的。如果直接new一个UserService,这是没用的,因为UserService没有被Spring容器管理,所以也不会给它里边注入Bean。在实......
  • 【课设】/【毕设】ESP32上传温湿度至新版Onenet云平台并由新版Onenet云平台下发命令控
    一、uniapp设计  1、APP生成token秘钥:  1.1.下载HBuider软件:     直接搜索HBuider,进入官网下载软件:  2.新建项目-选择默认模版3.打开index.vue4.点击运行至内置浏览器;2.1获取Onenet云平台API接口 2.1.1进入Onenet云平台点击服务与支持-文档......
  • springboot/java/php/node/python农产品销售系统小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的迅猛发展,传统农产品销售模式正逐步向线上转移。小程序作为移动互联网的一种轻量级应用,因其开发成本低、传播快、使用方便等特点,成为连接......
  • java毕设安卓基于安卓的图库管理系统(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的快速发展和智能手机普及率的不断攀升,人们对于移动设备上信息管理和共享的需求日益增长。安卓作为目前全球最受欢迎的移动操作系......
  • java毕设安卓基于安卓的汽车租赁系统的设计与实现(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着科技的飞速发展,移动互联网已经渗透到我们生活的方方面面,其中,移动应用在汽车租赁行业中扮演着日益重要的角色。近年来,汽车租赁市场呈现出蓬勃的发......
  • 【毕设级项目】基于嵌入式的智能家居控制板(完整工程资料源码)
    基于嵌入式的智能家居控制板演示效果基于嵌入式的智能家居控制板前言:        随着科技的不断进步,物联网技术得到了突飞猛进的发展。智能家居是物联网技术的典型应用领域之一。智能家居系统将独立家用电器、安防设备连接成一个具有思想的整体,实现家居设备的智能管......
  • 毕设5
    因为上个项目也出现问题且无法解决,又换了个新的项目     ......
  • 2024.3.14
    按值查找按位置查找链表释放链表逆置......