mybaits基础增删改查-------mybatis(四)

2024-05-17 16:32

本文主要是介绍mybaits基础增删改查-------mybatis(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Mybatis的增删改查

  • mybatis流程:
    1 创建实体类及接口方法
    2 创建全局配置文件 configuration.xml
    3 创建 sql 映射文件 BlogMapper.xml
    4 将全局文件中维护 sql映射文件配置
    5 调用java API 执行相关sql操作
    注意sqlSession是线程非安全的

    实体java类:

    package model;public class Bloger {private Integer id;private String name;//这里需要注意变量的命名规范,因为实体变量会和sql记录一一对应,// 所以不规范的命名方式会导致mybatis执行异常private String userName;private int age;private String email;public Bloger(){}public Bloger(Integer id, String name, String userName, int age, String email) {this.id = id;this.name = name;this.userName = userName;this.age = age;this.email = email;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "BlogId:"+ getId()+ "  BlogName:"+getName()+ "  username:" + getUserName();}
    }
    

接口方法:

	package dao;import model.Bloger;import org.apache.ibatis.annotations.Select;public interface BlogerMapper {//通过接口方法 getBlogerId(Integer id)返回一个实体对象public Bloger getBlogerId(Integer id);public void addBloger(Bloger bloger);public void updateBloger(Bloger bloger);public Boolean deleteBloger(Integer id);}

mapper 配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="dao.BlogerMapper"><!--model.Bloger --><select id="getBlogerId" resultType="Bloger">select id,name,user_name,age,email from mybatis_test where id = #{id}</select><!--添加博主 --><insert id="addBloger" parameterType="Bloger">INSERT  into mybatis_test(user_name,age,email,name)VALUES (#{user_name},#{age},#{email},#{name});</insert><update id="updateBloger" parameterType="model.Bloger">UPDATE mybatis_testSET user_name=#{user_name},age=#{age},email=#{email},name=#{name}WHERE id = #{id}</update><delete id="deleteBloger" parameterType="model.Bloger">DELETE  FROM mybatis_test where id =#{id}</delete>
</mapper>
package test;import dao.BlogerMapper;
import model.Bloger;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class MybatisDriver {public static void main(String[] args) throws Exception{mybatits_select();}public static SqlSessionFactory getSqlSessionFactory() throws IOException {String resource = "source/configuration.xml";InputStream inputStream= Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory= new SqlSessionFactoryBuilder().build(inputStream);return sqlSessionFactory;}public static void mybatits_add() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);Bloger bloger=new Bloger();bloger.setName("樊瑞8号");bloger.setEmail("wujianqinjian8@163.com");bloger.setAge(33);bloger.setUserName("wujianqinjian8");blogerMapper.addBloger(bloger);sqlSession.commit();sqlSession.close();}public static void mybatits_delete() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);blogerMapper.deleteBloger(11);sqlSession.commit();sqlSession.close();}public static void mybatits_update() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);Bloger bloger=blogerMapper.getBlogerId(9);bloger.setAge(33);bloger.setUserName("wujianqinjian09");blogerMapper.updateBloger(bloger);sqlSession.commit();sqlSession.close();}public static void mybatits_select() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);Bloger bloger=blogerMapper.getBlogerId(3);System.out.println(bloger);sqlSession.close();}
}
总结:看过前几章节的小伙伴,一定觉得这篇博客实在没有啥技术含量,为了保证系列的完整性,写了这个实例,需要注意的实体变量的命名需要规范从而避免不必要的麻烦!

最后,建了一个微信群,本来想大家一起共同学习,但学习气氛好像目前还不算特别好,加群主微信进群!(由于广告太多,所以请先点赞,然后发博客名!)
在这里插入图片描述

创建了一个技术闲聊群:有兴趣可加我微信,拉你一起讨论杂七杂八的技术,虽然大家都不怎么活跃!
加好友备注:你的博客名 && 随便给我的任意文章点个赞或留言
在这里插入图片描述

这篇关于mybaits基础增删改查-------mybatis(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995594

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

Mybatis提示Tag name expected的问题及解决

《Mybatis提示Tagnameexpected的问题及解决》MyBatis是一个开源的Java持久层框架,用于将Java对象与数据库表进行映射,它提供了一种简单、灵活的方式来访问数据库,同时也... 目录概念说明MyBATis特点发现问题解决问题第一种方式第二种方式问题总结概念说明MyBatis(原名

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st