1月30日学习日记

今天学习的主要内容为mybatis,个人感觉像jdbc的进化版,接下来我将从搭建Mybatis框架,mybatis核心配置文件,获取参数值各种情况这三个方面来讲述我今天的学习内容:

1.搭建mybatis框架

搭建一个mybatis框架,要从以下几个方面入手:

1.1首先,创建一个maven项目,在pom.xml文件总声明需要的依赖,如图

为基本依赖

1.2编写mybatis框架的核心配置文件,这个与2一起讲解

1.3创建实体类和mapper接口

作为一个持久层的框架,这个是肯定要创建的

这是mapper接口

这是实体类

1.4创建sql映射文件

 定义与用户操作相关的SQL映射文件,该文件是一个XML文件。SQL映射文件一般与相关的Mapper接口配合使用,属于DAO组件,且针对特定的实体类,所以其命名规则与Mapper接口相同,为“实体类名”+Mapper,且通常与Mapper接口放在同一个包下。
                        
原文链接:https://blog.csdn.net/qq_46540738/article/details/114442438

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

    <mapper namespace="com.mybatisdemo1.mapper.StudentMapper">
    <!-- int insertUser();-->
    <insert id="insertstudent">
        insert into student_zkr values (8,20210008,'李怜彩','15','男',1,0,1,null,null)
    </insert>
    </mapper>

1.5编写测试类

补充:把OpenSession的值设置为true则自动提交事务,如果值为空则不会提交事务

2.mybatis核心配置文件

习惯上命名为mybatis-config.xml,这个文件名仅仅为建议,并非强制要求,将来整合spring的时候,这个配置文件可以省略,所以大家操作时可以直接复制,粘贴

核心配置文件主要用于配置连接数据库的环境以及mybatis的全局配置信息

核心配置文件存放的位置是src/mian/resources目录下

模板如下:

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEconfiguration

PUBLIC"-//mybatis.org//DTDConfig3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<!--数据库环境配置-->

<environmentsdefault="development">

<environmentid="development">

<transactionManagertype="JDBC"/>

<dataSourcetype="POOLED">

<!--设置数据库连接信息-->

<propertyname="driver"value="数据库驱动类名称"/>

<propertyname="url"value="数据库连接URL"/>

<propertyname="username"value="数据库用户名"/>

<propertyname="password"value="数据库密码"/>

</dataSource>

</environment>

</environments>

<!--Mapper文件配置-->

<mappers>

<!--注册Mapper接口-->

<mapperresource="com/example/mapper/ExampleMapper.xml"/>

</mappers>

<!--其他配置项-->

</configuration>

2.1mybatis中的mapper接口相当于以前的dao,但是区别在于,mapper仅仅是接口,我们不需要提供实现类

2.2创建MyBatis的映射文件

相关概念:ORM对象关系映射

*对象:java的实体类对象

*关系:关系型数据库

*映射:二者之间的对应关系

java概念                            数据库概念

类                                         表

属性                                      字段/列

对象                                     记录/行

2.3映射文件的命名规则:

表锁所对应的实体类的类名+mapper.xml

例如:表t_user,映射的实体类为user,所对应的映射文件为UserMapper.xml

因此一个映射文件对应一个实体类,对应一张表读操作

mybatis映射文件用于编写sql,访问以及操作表中的数据

mybatis中可以面向接口操作数据,要保证两个一致:

a>mapper接口的全类名和映射文件的命名空间(username)保持一致

b>mapper接口中方法的方法名和映射文件中编写sql的标签的id属性保持一致

2.4在sql的映射文件中,查询功能必须设置resultType,不然系统不知道它的返回值!

2.5environments标签

用来配置多个连接数据库的环境,比如一个用来开发,一个用来测试,使用参数id来决定,default参数设置默认的模式

2.6properties文件

没什么好说的

2.7typeAliases类型别名的功能,用来应对查询功能的type全类名过长的问题

以后最常用的方式

2.8核心配置文件mappers:

1.mapper接口所在的包要和映射文件所在的包一致

2.mapper接口要和映射文件的名字一致

3.获取参数值的各种情况

之前的案例里写的是完整的sql语句,这样肯定不行的,所以要把参数写在测试方法里

3.1第一种情况:单个字面量类型的参数

3.2多个字面变量类型

报错了

在mynatis底层,如果检测到mapper接口中方法有多个参数的话,它会自动把参数放在一个map集合里,它以arg1,arg0或者param1,param2为键,参数为值存储,所以改成以下这种

3.3第三种情况:传入map集合

通过自己的方式访问到相对应的键

3.4第四种情况,mappeer接口方法的参数是实体类类型的参数

mapper接口方法的参数是实体类类型的参数

只需要通过# {}和${}以属性的方式访问属性值即可,但是需要注意${}的单引号问题

3.5第五种情况:使用@param注解的参数

以@param中的值为键,以变量的值为值

代码出处:29_@Param源码解析_哔哩哔哩_bilibili

  • 29
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值