热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mybatis(3增删改查)

MyBatis的真正强大在于它的语句映射,这是它的魔力所在。创建接口publicinterfaceUserInfoMapper{***查找:*查找所

MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。


创建接口

public interface UserInfoMapper {/*** 查找:* 查找所有用户* 根据id查找单个用户* @return*/List selectAllUsers();UserInfo selectUserById(Long userId);//新增一条数据Integer insetUserInfo(UserInfo userInfo);//根据id删除用户Integer deleteUserInfo(Long userId);//根据id修改用户名字Integer updateUserInfo( @Param("id") Long userId,@Param("name") String userName);
}

接口创建完毕后更改mapper中的命名空间


配置映射

id与接口名需对应


insert into user_info(username,user_password,create_time,update_time) values(#{userName},#{userPassword},now(),now())delete from user_info where user_id=#{id}update user_info set username=#{name},update_time=now() where user_id=#{id}

注意传入多个参数情况,在接口处使用@Param(*)让其与#{*}对应


对sqlSession进行封装使得代码简洁

private static SqlSession getSqlSession() throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);return sqlSessionFactory.openSession();}

查找全部用户

public static void main( String[] args ) throws Exception{SqlSession sqlSession = getSqlSession();UserInfoMapper mapper=sqlSession.getMapper(UserInfoMapper.class);List userInfos=mapper.selectAllUsers();for (UserInfo userInfo : userInfos) {System.out.println(userInfo);}sqlSession.close();}

根据id查找某个用户

public static void main( String[] args ) throws Exception{SqlSession sqlSession = getSqlSession();UserInfoMapper mapper=sqlSession.getMapper(UserInfoMapper.class);UserInfo userInfo=mapper.selectUserById(1L);System.out.println(userInfo);sqlSession.close();}

public static void main( String[] args ) throws Exception{SqlSession sqlSession = getSqlSession();UserInfoMapper mapper=sqlSession.getMapper(UserInfoMapper.class);UserInfo userInfo=new UserInfo();userInfo.setUserName("wangwu");userInfo.setUserPassword("12345");mapper.insetUserInfo(userInfo);sqlSession.commit();sqlSession.close();}

public static void main( String[] args ) throws Exception{SqlSession sqlSession = getSqlSession();UserInfoMapper mapper=sqlSession.getMapper(UserInfoMapper.class);mapper.deleteUserInfo(3L);sqlSession.commit();sqlSession.close();}

public static void main( String[] args ) throws Exception{SqlSession sqlSession = getSqlSession();UserInfoMapper mapper=sqlSession.getMapper(UserInfoMapper.class);mapper.updateUserInfo(2L,"wangwu");sqlSession.commit();sqlSession.close();}

使用和指定语句的参数和返回值相匹配的接口(比如 BlogMapper.class),现在你的代码不仅更清晰,更加类型安全,还不用担心可能出错的字符串字面值以及强制类型转换。


推荐阅读
  • This pull request introduces the ability to provide comprehensive paragraph configurations directly within the Create Note and Create Paragraph REST endpoints, reducing the need for additional configuration calls. ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文介绍了一个SQL Server自定义函数,用于从字符串中提取仅包含数字和小数点的子串。该函数通过循环删除非数字字符来实现,并附带创建测试表、存储过程以演示其应用。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍 SQL Server 的基本概念和操作,涵盖系统数据库、常用数据类型、表的创建及增删改查等基础操作。通过实例帮助读者快速上手 SQL Server 数据库管理。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • 本文探讨了在 PHP 中如何通过多种方式将外部参数传递到回调函数中,包括使用匿名函数和闭包。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • thereissomethingstrangeinmycode.Imsuretoforgetsomethingbutidontknowwhat.Itryto ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
author-avatar
c72586051
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有