手把手教你使用Mybatis连接数据库

今天讲讲怎么样让后端服务和数据库合二为一,正所谓男女搭配干活不累,有了数据库的翅膀,前端、后台、数据就算一个完整的Demo了。

本节的目标:

spring后台连接上篇文章的数据库金库的存放-CentOS数据库安装

可以通过rest api接口读取、写入数据表demo

先列出知识点,可以随意跳跃着看。

1. 缘分一道桥:后端如何链接数据库

2. 神器在我手:如何快速生成Dao层

3. 万事俱备矣:控制层与Dao的合体

4. 指尖上舞蹈:运行测试

1. 缘分一道桥:后端如何链接数据库

首先来一个灵魂三问:为什么要链接数据库,用什么链接数据库,如何链接数据库。

OK,第一个问题,后台服务往往要处理成千上万的数据,这些数据不可能都存在内存里面,需要有一个地方存储,然后服务用到的时候再去获取,存数据的地方就是数据库。数据库有很多类型,关系数据库,文档数据库等等(有空可以写一个数据库系列)。大家可以参考上一篇文章《安装数据库》,进行数据库的安装。

第二个问题:我们这里使用mybatis和数据库通信。mybatis是一个优秀的持久层框架,后面我们会有文章专门讲这个,这里知道就好了。

第三个问题,我们分成几步来讲:

step1:添加数据库相关依赖包

pom.xml新增mysql和mybatis包,mysql包是底层的mysql api实现,mybatis会依赖它。其余和之前的保持一致,新增如下:

org.mybatis.spring.bootmybatis-spring-boot-starter2.1.0mysqlmysql-connector-javaruntime

step2:添加数据库相关配置项

在resources/application.properties配置数据库地址、密码、驱动器,mybatis对应的工程配置等,直接甩出我的配置如下:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_namespring.datasource.username=xxxspring.datasource.password=xx123spring.datasource.driver-class-name=com.mysql.jdbc.Drivermybatis.project= src/main/javamybatis.resources=src/main/resources

基本看名字就知道什么意思了,不解释,有疑问可以留言。

step3:编译测试

先点击Maven/Lifecycle/install安装新的依赖,如果没有出错,则成功了。

然后右键点击工程里面的xxApplication-->Run,如果没有问题,我们就运行成功。

有了上述的几步,后续我们的代码就可以连接到数据库里面的demo表了。

2. 神器在我手:如何快速生成Dao层

第一步只是添加了依赖,但是使用mybatis还需要写Mapper,Entity等数据,还有xm等配置,非常麻烦,一想想就头大,幸好mybatis考虑到一点,可以通过插件:mybatis-generator一键生成上述所有代码。如下:

在pom.xml添加插件依赖包:

org.mybatis.generatormybatis-generator-maven-plugin1.3.7mybatis-generatordeploygenerate#插件配置信息mybatis-generator/generatorConfig.xmltruetruemysqlmysql-connector-java5.1.46

step2: 使用配置generatorConfig.xml(可以放到任何目录下)配置数据库相关信息:也就是插件要知道去哪里操作数据库,操作什么表,我的配置如下:

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

step3:

首先右键pom.xml-->reimport

然后点击Maven/Plugins/mybatis-generator下面generator,等待代码自动生成,如下:

Demo:对数据表demo对抽象

DemoExample:对操作数据表demo的条件、查询等封装

DemoMapper:Dao层,对操作demo的封装

3. 万事俱备矣:控制层与Dao的合体

有了Dao层,Mapper,我们如何使用:查询和插入

step1:建立控制类DemoWebController

step2:添加代码:

@RestControllerpublicclassDemoWebController{@AutowiredprivateDemoMapper d_mapper;//操作查询数据库,通过DemoExample构建查询条件// 这里是select * from demo;@GetMapping("/getDemo")publicList getDemoData(){ DemoExample ex =newDemoExample();returnd_mapper.selectByExample(ex); }//操作写入数据库,并且返回写入成功or失败的操作码@GetMapping("/insertDemo")publicintinsertData(){ Demo demo_data =newDemo(); demo_data.setId(33); demo_data.setData("insert data");returnd_mapper.insert(demo_data); }}

代码里面有些注解看不懂没关系,后面会讲。

免费分享Java技术资料,需要的朋友可以在后台私信我

来源:微信公众号

作者:DrunkCoder

原文:手把手教你使用Mybatis连接数据库

你可能感兴趣的:(手把手教你使用Mybatis连接数据库)