Mybatis

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Mybatis脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录

概述:简单概述一下什么是mybatis

      1.1 mybatis是什么?有什么特点?

 1.2  什么是ORM?

1.3什么是mybatis框架?

2开始使用mybatis

 2.1创建一个maven的java工程

 2.2 引入mybatis的jar 和 mysql的驱动jar包。

 2.3创建一个实体类(自己数据库中存在的表)

2.4此时在resources下创建一个mybatis.xml   

2.5  编写相应的映射文件。-----sql语句 实体类与表的映射。

2.6 把映射文件引入到mybatis配置文件中。

2.7  进行测试

3 mybatis的增删改查

3.1在上文提到,我们已经创建了实体类,这个时候要进行表的一些操作,我们需要创建一个Dao类,根据我们的实体类创建一个接口

 3.2.1增加的映射文件

3.2.2 删除的映射文件

3.2.3修改的映射文件

 3.2.4 查询(全部)的映射文件

3.2.5   根据id查询

3.2.6传递多参 

3.2.7特殊符号

总结:



概述:简单概述一下什么是mybatis

      1.1 mybatis是什么?有什么特点?

它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低,总的来说,mybatis是一个持久层框架, 作用是跟数据库交互完成增删改查

 1.2  什么是ORM?

是一种程序设计技术,用于实现编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。

1.3什么是mybatis框架?

MyBatis 是支持普通 SQL 查询存储过程高级映射的优秀==ORM框架==。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 半自动化框架。必须写sql语句。

2开始使用mybatis

 2.1创建一个maven的java工程

file--->new--->project..--->maven--->next

  

Mybatis

 

 2.2 引入mybatis的jar 和 mysql的驱动jar包。

我们可以安装lombok插件,可以简化实体类中的set和get方法以及tostring方法和构造方法

​
​
 <dependencies>
        <!--mysql驱动依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <!--mybatis的依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>
    </dependencies>

​

​

 2.3创建一个实体类(自己数据库中存在的表)

 

Mybatis

 

2.4此时在resources下创建一个mybatis.xml   

我们需要在里面配置我们的文件--------mybatis会读取该文件的内容完成连接数据库的功能。

Mybatis

 

2.4.1

配置日志,配置连接的数据库,配置相关的映射文件

  

Mybatis

  连接数据库的时候根据自己的数据库进行一些修改,数据库名,用户名字,密码。

2.5  编写相应的映射文件。-----sql语句 实体类与表的映射。

 

Mybatis

   

<mapper namespace="a">


            <!--sql语句-->
            <!--1.根据id查询用户信息
             select:表示查询标签
             id:唯一标签.
             resultType: 返回结果的类型。
            mybatis框架帮你把结果封装到User类型中。
             #{}:====>占位符。并且或解析uid的值。
              -->

            <select id="getUserById" resultType="com.wwn.User.User">
             select * from users where id=#{uid}
             </select>
        </mapper>

2.6 把映射文件引入到mybatis配置文件中。

 

Mybatis

 

2.7  进行测试

要注意一些数据是一致的,不可以随便乱写。要保证代码的运行。

Mybatis

3 mybatis的增删改查

3.1在上文提到,我们已经创建了实体类,这个时候要进行表的一些操作,我们需要创建一个Dao类,根据我们的实体类创建一个接口

Mybatis

 3.2.1增加的映射文件

Mybatis

 测试

Mybatis

#小知识点

因为对于一些重复执行的代码,也就是逻辑之前的初始化,可以写进before()方法中执行,代表程序刚开始时执行before()。

增加方法的方法名要和接口中的名字一致,否则将找不到,无法运行。

3.2.2 删除的映射文件

Mybatis

 测试

Mybatis

3.2.3修改的映射文件

Mybatis

测试

Mybatis

 3.2.4 查询(全部)的映射文件

Mybatis

resultType中的代码要和实体类的路径一致。

测试

 

Mybatis

Mapper接口开发需要遵循以下规范:

1、  Mapper.xml文件中的namespace与mapper接口的类路径相同。

2、  Mapper接口方法名和Mapper.xml中定义的每个statement的id相同

3、  Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型(首字母小写)相同

4、  Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

除此之外还有一些其他的操作,譬如说:根据id查询,还有常见的传递多参,和特殊符号的查询

3.2.5   根据id查询

接口:

Mybatis

映射文件

Mybatis

测试

Mybatis

3.2.6传递多参 

接口

<!--如果方法传递的是多个参数时默认mybatis会给这些参数起名:param1 param2.....
<select id="selectByCondition" resultType="com.ykq.entity.User">
   select * from users where name=#{param1} and age=#{param2}
</select>
如果使用自定义参数名 @Param("参数名")
public List<User> selectByCondition(@Param("name") String name, @Param("age") int age);
-->

Mybatis

映射文件

Mybatis

测试

Mybatis

3.2.7特殊符号

特殊符号存在时我们需要转义字符

转义字符
&lt;<小于号
&gt;>大于号
&amp;&
&apos;'单引号
&quot;"双引号

接口

Mybatis

映射文件

Mybatis

测试

 

Mybatis

总结:

1.依赖的添加必不可少。

2.引入mybatis的jar 和 mysql的驱动jar包。

3.配置mybatis的配置文件

4.基础的增删改查

脚本宝典总结

以上是脚本宝典为你收集整理的Mybatis全部内容,希望文章能够帮你解决Mybatis所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据库