首页 > 数据库 >JDBC和MyBatis数据库访问技术

JDBC和MyBatis数据库访问技术

时间:2023-03-31 11:35:12浏览次数:35  
标签:语句 JDBC 配置文件 数据库 SQL MyBatis

  传统的Java Web应用开发时,一般使用JDBC进行数据库连接和操作SQL命令。但是,随着互联网技术的飞速发展,使用JDBC已经满足不了项目的开发需求,出现了Hibernate、MyBatis等一些优秀的持久层框架,它们结合了JDBC的优点,使得开发简捷、规范、快速,系统易维护、易扩展。 1.1 JDBC数据库访问技术   JDBC(Java DataBase Connectivity, Java数据库互连),是一种提供连接数据库、使用SQL语句操作数据库技术的标准Java API。在传统的JSP/Servlet开发模式下,一般直接使用JDBC进行数据库的连接和操作。 1.1.1 JDBC的基本使用 JDBC访问数据库的一般过程如下图所示。

 

  Java 开发中,将一些易变的配置参数放置在.XML配置文件或者.properties配置文件中。   目前在开发过程中,基于分层设计,使用DAO(Data Access Obeject)数据访问对象。     总结:传统JDBC开发模式中,SQL语句全部是“硬编码”在程序中,当要修改SQL语句时,需要修改源码并重新编译;同时数据库的连接、打开、关闭在多个方法中反复调用。这些都不利用项目的开发和维护。   1.2 基于MyBatis框架的数据库访问技术   MyBatis 是一款支持动态 SQL 语句的持久层框架,可以将 SQL 语句写在在 XML 文件中,使得 SQL 语句和 Java 代码实现了分离,让开发人员精力集中在 SQL 语句上,方便系统的开发和维护。   下载地址: MyBatis 下载地址:   https://github.com/mybatis/mybatis-3   MyBatis的整体结构如下:  Mybatis主配置文件:XML格式文件,其中配置了数据库驱动、数据连接 地址、数据库用户名和密码、事务管理、关联的局部配置文件等参数, 格式如下图所示:  SQL映射配置文件(局部配置文件):XML格式文件,包括各种类型的SQL 语句,以及SQL语句所需参数,SQL语句执行结果返回值类型都可以配置 在该文件中,格式如下图:

 会话工厂:SqlSessionFactory类,该类使用了工厂模式,可以根据资 源信息加载对象,获取开发人员在项目中配置的数据库配置文件的信息, 从而创建出一种可以与数据库交互的会话实例类( SqlSession):

 

 会话:SqlSession类可以根据SQL配置,调用相应的方法去执行SQL命令, 对数据库进行操作。

 

 

标签:语句,JDBC,配置文件,数据库,SQL,MyBatis
From: https://www.cnblogs.com/qiqi-yi/p/17275740.html

相关文章

  • 数据库基础知识
    一、DB/DBSM/DBS1.数据库DataBase(DB)是信息的集合;或是由DBSM管理的数据的集合2.数据库管理系统DatabaseManagementSystem(DBSM)是一种操纵和管理DB的大型软件,通常用于建立、使用、维护DB3.数据库系统DataBaseSystem(DBS)通常由软件、DB和数据管理员组成......
  • 在 MySQL 数据库中删除重复记录的步骤
    在MySQL数据库中删除重复记录的步骤当我们在处理数据库中的数据时,有时候会出现重复记录的情况,这些重复记录会影响数据的正确性,需要将其删除。下面是在MySQL数据库中删除重复记录的步骤:1.查找重复记录首先,我们需要找到数据库表中的重复记录。可以使用以下SQL语句查询表中......
  • 向数据库中写入图片
            ifpose.all_save_image==0:          sql="INSERTINTOstudentmemo.student(idx,pic0)VALUES (%s,%s)"          args=(pose.id,crop)          cursor.execute(sql,args) ......
  • 为什么说数据库连接很消耗资源
    相信有过工作经验的同学都知道数据库连接是一个比较耗资源的操作。那么资源到底是耗费在哪里呢?本文主要想探究一下连接数据库的细节,尤其是在Web应用中要使用数据库来连接池,以免每次发送一次请求就重新建立一次连接。对于这个问题,答案都是一致的,建立数据库连接很耗时,但是这个耗时......
  • navicat连接云服务器数据库
    centos7拉取mysql报mysqld:Can'treaddirof'/etc/mysql/conf.d/'(Errcode:2-Nosuchfileordirectory)>mysqld:[ERROR]Fatalerrorindefaultshandling.Programaborted!此情况针对于linux云服务器拉取mysql镜像启动容器后dockerps-a查看容器状态为exit(0),容......
  • MySQL数据库面试题
    数据库三大范式是什么第一范式:每个列都不可以再拆分。第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理......
  • SequoiaDB分布式数据库2023.3月刊
    本月看点速览赋能行业,参编《分布式数据库金融应用发展报告》脱颖而出,入选2022专精特新黑马大赛年度十强激烈角逐,成功晋级全国信创优秀解决方案决赛新穗新彩,多家权威媒体走进巨杉青杉计划2023持续进行,一起攀登更高的“杉”赋能行业,参编《分布式数据库金融应用发......
  • pandas写入数据库
    importpandasaspdfromsqlalchemyimportcreate_engineimportnumpyasnpw=np.array([1,2,3])datas=pd.DataFrame(w)print(datas)engine=create_engine("mysql+pymysql://root:1234567890@localhost:3306/studentmemo?charset=utf8")con=engine.c......
  • MyBatis 随笔
    MyBatis传参parameterTypeparameterType:接口中方法参数的类型,类型的完全限定名或别名如:parameterType="java.lang.Integer"parameterType="int"这个属性是可选的,因为可以推断出具体传入语句的参数,默认值为未设置(unset)。接口中方法的参数从java代码传入到mapper文件的......
  • Beego查数据库数据panic问题
    一开始没发现问题所在,请了位大佬帮忙排查错误逐步确定问题所在。问题起源于我查数据库没有得到正确的数据开始。一开始发现是数据类型问题,改过之后还是存在问题,于是debug一下,一步一步看问题出在哪里,结果走进了锁,就没仔细看,哪知在这中间出现了一个panic问题。但是这个panic没有打......