Bootstrap

javaweb第五次课后作业--mybatis操作数据库

首先我们先创建一个Spring Initializr项目,选择Java语言maven类型,选择好配置

因为我们是要连接MySQL数据库进行相关操作,所以我们需要选择相关的依赖项
然后我们点击下一步,选择以下三个依赖项

然后点击创建,我们的项目就创建好了

然后我们点击在左边框栏里面的数据库,点击加号新建,选择数据源,选择MySQL语言类型

点击然后填入创建的数据库的相关信息数据,如果是第一次创建,下面会提醒安装相关的插件和依赖项,先进行安装才能确保连接成功

创建完成连接之后,这一次的连接只是方便我们后续的代码操作,但我们的并没有使应用程序连接到数据库,无法访问到数据库中的内容

这时我们应该打开到application.properties文件,在里面添加连接数据库的相关配置

此时我们的程序才可以连接到数据库进行访问

然后,我们就可以来编写代码来进行对数据库的操作了

首先第一步我们应该创建一个pojo文件夹来包含我们创建的实体类,用于对标数据库中的字段并进行存储返回

然后我们就可以开始编写接口类来实现对数据库的增删改查等操作

我们先创建一个mapper文件夹来存储接口项目,我们在其中创建完接口类之后,我们需要在接口名上面加上一个注释@Mapper,该注释实现了自动配置和依赖注入,简化配置文件,

然后我们编写增删查改的接口

首先编写一个接口方法,然后再上面加上一个注释,增@Insert,删@Delete,改@Update,查@Select,然后在后面的括号里面书写相关的数据库操作语句

在这里我们在括号里书写数据库操作语句时,我们并没有提示,我们需要在前面的提示中选择语言注入设置然后选择我们使用的MySQL语言,这样我们就可以在书写MySQL操作语句时,有代码提示,书写更加方便和容易纠错

然后,如果我们书写的数据库操作语句中,有条件,需要传入条件参数,我们一般使用sql注入,防止被恶意攻击,也就是在接口函数中添加一个传参,然后在数据库操作语句中where后面需要使用到该参数的位置使用  #{传参名}  来代替,这里的传参名与我们在接口函数中定义的参数名应该保持一致

当然使用这种注释的方法十分的麻烦,也不便于动态操作,所以,我们更加倾向于使用xml映射来操作数据库

这里我们需要在我们的recourse文件夹下来储存我们的xml文件,同时我们也要保证我们的xml文件要和我们的接口文件在同一名称的包下,而且我们的xml文件也要和我们的接口文件保持同名,

满足上面条件,我们创建完xml文件后,在开始输入以下代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

然后我们就可以开始配置映射了

首先我们先输入

<mapper namespace="com.itheima.mapper.EmpMapper">

其中namespace的值,我们需要点击接口选择复制特殊后选择复制引用,得到的引用

然后我们可以开始实现映射的内容,首先,我们需要下载一个插件,在插件下载界面下载名为mybatisx的插件,方便我们操作

然后我们开始实现我们的增删改查操作,我们根据自己想实现的操作进行书写,增<Insert>,删<Delete>,查<Select>,改<Update>,在后面的id属性里面添加该接口的接口名,然后在该代码体里面书写自己的MySQL操作代码就可以实现运行

如果我们只想实现修改一部分或者实现批量操作,我们可以使用<if>,<foreach>等方法
<if>方法,在后面的test属性里书写执行该<if>语句块包含的代码时应该满足的条件
<foreach>方法,有多个属性

<foreach collection="ids" item="id" separator="," open="(" close=")">

collection 遍历的集合
item 遍历出来的元素
separator 分隔符
open 遍历开始前拼接的sql片段
close 遍历开始后拼接的sql片段

使用该方法可以做到批量操作

在使用该些方法时我们也要学会使用<set>、<where>等方法避免出现MySQL操作语句出现错误

;