首页 » 99链接平台 » 什么是后端开发(数据库后端数据开发程序)

什么是后端开发(数据库后端数据开发程序)

少女玫瑰心 2024-11-02 08:00:22 0

扫一扫用手机浏览

文章目录 [+]

连接建立之后,如何进行通讯呢?MySQL定义了数据交换的格式也就是帧格式,定义了通讯协议的交互流程,我们的程序需要遵循MySQL规定的规章制度,才能正确的读写数据。

看到图中复杂的交互流程,我们不禁有些恼火,唯有牢记初心,才能坚持下去。
我们的初衷是从数据库读写数据,在Mysql命令行客户端,我们只需要运行一些SQL语句就可以了。
然而,我们在这里却要处理这么复杂的事情,这完全偏离了我们的重点。
如果再这样下去,我们将无法完成任何项目。

幸好我们有JDBC,它可以把上图简化成下图的过程,也就是我们只需要关注SQL语句就可以了。

什么是后端开发(数据库后端数据开发程序) 99链接平台
(图片来自网络侵删)

也就是说JDBC帮我们完成了通信过程以及通信协议的处理。
所以我们需要在Java中直接使用JDBC来与数据库进行通信。
典型的过程代码如下:

// 在 pom.xml中添加 mysql驱动依赖库 <dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <version>5.1.47version> dependency>

public static void main(String[] args) throws Exception {// 将JDBC驱动加载到DriverManagerClass.forName("com.mysql.jdbc.Driver");// 从DriverManager处获取数据库连接Connection conn = DriverManager.getConnection("jdbc:mysql://数据库ip/数据库名称","账号","密码" );// The object used for executing a static SQL statement and returning the results it produces. 也就是创建出执行sql语句的对象Statement st = conn.createStatement(); // 只查找一行数据ResultSet rs = st.executeQuery("SELECT id, username, password FROM sys_user LIMIT 1");SysUser user = new SysUser();// 遍历每一行数据while (rs.next()) {user.setId(rs.getString("id"));user.setName(rs.getString("username"));user.setPassword(rs.getString("password"));}System.out.println(user.toString());rs.close();st.close();conn.close();

其中,SysUser类如下:

@Datapublic class SysUser {private String id;private String name;private String password;}

该程序的输出是:

SysUser(id=1140466515787780089, name=admin, password=9d947539b4374770df2a52f6e357829d3e625cd78bc05451218e7b5b3361000b)

可以看到,这就是将数据库数据信息映射到后端程序对象上。
我们来仔细看一下上面的程序。

Java 数据库连接 (JDBC) 是 Java 语言中的应用程序编程接口,用于指定客户端程序如何访问数据库。

– 引自维基百科

接口就是规范,我们说JDBC帮我们做了那么多,其实它并没有帮我们连接数据库,转换协议等等,这些功能都是由数据库驱动,也就是我们引入的mysql-connector-java包来完成的,这中间JDBC的层次结构如图所示:

最底层就是各种数据库了,所以只要实现了JDBC规范的驱动接口,就可以集成到Java中直接使用。
对于上面程序使用过程中涉及到的各种对象,这里就不细说了,网上有很多不错的资料,比如这篇博客,讲的挺清楚的。

这里我们关心的核心是后端如何理解数据库的信息,其实上面代码中,最终的ResultSet中保存的是每行数据的信息,我们只要像上面程序一样,将它们一一复制到相关对象中就可以了。

但是这样太麻烦了,而且上面只是静态SQL,没有添加where语句,没有执行任何复杂查询,也没有执行任何插入操作。
有兴趣的可以尝试一下,具体如何执行这些东西网上有很多说明。

那么我们该怎么办呢?

我们需要一个工具,可以自动将ResultSet中的信息映射到对象,也可以将对象中的信息映射到SQL语句中的参数。

我们把这种工具称为ORM框架,ORM的意思是Object Relational Mapping,在之前的文章《Java后端开发(三):开发框架解读》中提到过这种框架,具体为:

我们采用mybatis框架来实现,添加mybatis之后结构变成:

因此在我们的Maven项目也就是pom.xml中,除了需要导入上面提到的mysql-connector-java,还需要导入mybatis的依赖包。

至于图中的数据库连接池,我们暂时先忽略,加上mybatis之后,数据映射就简单多了,基本原理还是如上代码所示,这个大家应该都清楚了。

接下来我们将继续:

mybatis的使用整个web开发框架的整体结构,从全方位的角度审视数据库连接池的描述mybatis-plus的使用,彻底解放了基础CURD的生产力

相关文章

专科即可(面试聘用教育资源教师原件)

一、盘龙区特殊教育资源中心概况 盘龙区特殊教育资源中心,成立于2017年。本中心以昆明市盘龙区培智学校为主体,是集支持、评估...

99链接平台 2024-12-23 阅读693 评论0

激活青青之岛(平台思维发展企业项目)

思想变革篇经始灵台,庶民子来。自古至今人们都懂得筑巢引凤、栽树乘凉的道理。8月1日,2019黑马产业加速实验室夏季峰会在青岛举行,...

99链接平台 2024-12-22 阅读981 评论0

正式首发!(列车旅游铁路首发旅客)

7月9日13时17分,Y459次旅游列车从广元站驶出,开往伊宁站,标志着成都局集团公司首趟“大美新疆号”旅游列车正式开行。来自成都...

99链接平台 2024-12-21 阅读808 评论0