栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis

Mybatis Mybatis的简介 原始jdbc操作的分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JkwE9uWB-1646468306665)(C:Usersmaybe3032AppDataRoamingTyporatypora-user-imagesimage-20220303113033630.png)]

什么是Mybatis

· mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建链接、创建statement

· mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句

· 最后mybatis框架执行sql并将结果映射为java对象并返回,采用ORM思想解决实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作

Mybatis的快速入门 Mybatis开发步骤

    添加MyBatis的坐标

    
    	
        	mysql
            mysql-connector-java
            5.1.32
        
        
        	org.mybatis
            mybatis
            3.4.6
        
    
    

    创建user数据表

    编写User实体类

    编写映射文件UserMapper.xml

    
    //命名空间
    	
        	select *from user
        
    
    

    编写核心文件SqlMapConfig.xml




	
    	
        
        	
        	
            
            
        
    




	

    编写测试类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEszshwI-1646468306666)(C:Usersmaybe3032AppDataRoamingTyporatypora-user-imagesimage-20220303120345878.png)]

Mybatis官网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ErnkofKi-1646468306667)(C:Usersmaybe3032AppDataRoamingTyporatypora-user-imagesimage-20220303114232479.png)]

Mybatis的映射文件概述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HP2fn7FB-1646468306668)(C:Usersmaybe3032AppDataRoamingTyporatypora-user-imagesimage-20220303121914039.png)]

Mybatis的增删改查操作 Mybatis的插入操作

· 插入语句使用insert标签

· 在映射文件中使用parameterType属性指定要插入的数据类型

· Sql语句中使用#{实体属性名}方式引用实体中的属性值

· 插入操作使用的API是sqlSession.insert(“命名空间.id”, 实体对象)

· 插入操作涉及数据库数据变化,所以要使用sqlSession对象显示的提交事务,即sqlSession。commit()



	insert into user values(#{id},#{username},#{password})

Mybatis的修改操作

· 修改语句使用update标签

· 修改操作使用的API是sqlSession.update(“命名空间.id”, 实体对象);



	update user set username=#{username},password=#{password} where id=#{id}

Mybatis的删除操作

· 删除语句使用delete标签

· Sql语句中使用#{任意字符串}方式引用传递的单个参数

· 删除操作使用的API是sqlSession.delete(“命名空间.id,Object”);



	delete from user values id=#{id}

Mybatis的查询操作

	
    	select * from User where id=#{id}
    

知识小结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4TfslgGh-1646468306675)(C:Usersmaybe3032AppDataRoamingTyporatypora-user-imagesimage-20220303161346248.png)]

MyBatis映射文件深入 动态sql语句 动态sql之

· 根据实体类的不同取值,使用不用的SQL语句来进行查询。比如在id如果不为空时可以根据id查询,如果username不同空时还要加入用户名作为条件。