文章目录

  • 一、查询表记录
    • 1、在映射器配置文件里引入结果映射元素
    • 2、添加按姓名查询用户记录功能,更新,查找,删除
    • 3、在UserMapper接口里增加插入、更新、删除方法
    • 4、在测试类TestUserMapper里添加测试方法
    • 运行效果

一、查询表记录

1、在映射器配置文件里引入结果映射元素

2、添加按姓名查询用户记录功能,更新,查找,删除

<?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="net.tp.mybatis.mapper.UserMapper"><resultMap id="UserMap" type="User"><result column="id" property="id"/><result column="name" property="name"/><result column="age" property="age"/><result column="address" property="address"/></resultMap><select id="findById" parameterType="int" resultType="User">SELECT * FROM t_user WHERE id = #{id};</select><select id="findAll" resultType="User">SELECT * FROM t_user;</select><select id="findByName" parameterType="string" resultType="User">SELECT *FROM  t_user where name like concat (#{name},"%");</select><insert id="insert" parameterType="User"useGeneratedKeys="true" keyProperty="id">insert into t_user(name ,age,address)value (#{name},#{age},#{address});</insert><update id="update" parameterType="User">UPDATE t_user SET name =#{name}, age=#{age},address =#{address} where id=#{id};</update><delete id="deleteById" parameterType="int">DELETE FROM  t_user WHERE id=#{id};</delete>
</mapper>

3、在UserMapper接口里增加插入、更新、删除方法

package net.tp.mybatis.mapper;import net.tp.mybatis.bean.User;
import org.apache.ibatis.annotations.Select;import java.util.List;
/*** 功能:用户映射器接口* 作者:tp* 日期:2021年03月04日*/
public interface UserMapper {// @Select("SELECT * FROM t_user;")List<User> findAll();//@Select(" SELECT * FROM t_user WHERE id = #{id}")User findById(int id);List<User> findByName(String name);int insert (User user);int update(User user);int deleteById(int id);
}

4、在测试类TestUserMapper里添加测试方法

package net.tp.mybatis.mapper;import net.tp.mybatis.bean.User;
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 org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.io.Reader;
import java.util.List;/*** 功能:测试用户映射器接口* 作者:tp* 日期:2021年03月04日*/
public class TestUserMapper {private SqlSession sqlSession; // SQL会话private UserMapper userMapper; // 用户映射器@Beforepublic void init() {try {// 读取MyBatis配置文件作为字符输入流Reader reader = Resources.getResourceAsReader("mybatis-config.xml");// 基于MyBatis配置文件构建SQL会话工厂SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);// 利用SQL会话工厂获取SQL会话sqlSession = factory.openSession();// 利用SQL会话获取用户映射器对象userMapper = sqlSession.getMapper(UserMapper.class);// 提示用户SQL会话对象创建成功System.out.println("sqlSession对象已创建。");} catch (IOException e) {e.printStackTrace();}}@Testpublic void testFindById() {int id = 1;User user = userMapper.findById(id);if (user != null) {System.out.println(user);} else {System.out.println("编号为[" + id + "]的用户未找到。");}}@Testpublic void testFindAll() {List<User> users = userMapper.findAll();users.forEach(user -> System.out.println(user));}@Testpublic void testFindName(){String name= "王";List<User> users =userMapper.findByName(name);if (users.size() >0){users.forEach(user -> System.out.println(user));}else {System.out.println("没有找到姓名为:["+name+"]的记录!");}}@Testpublic  void  testInsert(){User user =new User();user.setName("王雨涵");user.setAge(30);user.setAddress("龙马潭区长桥路2号宿舍");int count =userMapper.insert(user);sqlSession.commit();//提交数据库操作if(count>0){System.out.println("记录插入成功!");System.out.println("插入的新记录:"+user);}else {System.out.println("插入失败!");}}@Testpublic void testUpdate(){User user=userMapper.findById(4);System.out.println("更新前的记录:"+user);user.setName("萌萌");user.setAge(18);user.setAddress("北京市朝阳区北苑路6号楼");int count =userMapper.update(user);sqlSession.commit();//提交数据库操作if(count>0){System.out.println("记录更新成功!");System.out.println("更新后的记录:"+user);}else {System.out.println("更新失败!");}}@Testpublic void testDeleteById(){int id = 4;User user =userMapper.findById(id);System.out.println("待删除的记录:"+user);userMapper.deleteById(id);sqlSession.commit();//提交数据库操作System.out.println("编号为["+id+"]的记录删除成功!");user=userMapper.findById(id);if (user != null) {System.out.println(user);} else {System.out.println("编号为[" + id + "]的用户未找到。");}}@Afterpublic void destroy() {// 关闭SQL会话sqlSession.close();// 提示用户SQL会话对象关闭System.out.println("sqlSession对象已关闭。");}}

运行效果






用MyBatis来操作crud相关推荐

  1. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...

  2. MyBatis学习总结(2)——使用MyBatis对表执行CRUD操作

    一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下:

  3. Mybatis框架实现CRUD操作

    Mybatis框架实现CRUD操作 自定义mybatis流程 mybatis基于代理dao的CRUD操作(重点) E:\JAVAworkspace\mybatis_CRUD CRUD中可能遇到的问题: ...

  4. 爬梯:MyBatis全操作

    学习资源整理自:B站<狂神说> 扎实基础,将Mybatis全面走一遍! Mybatis中文官网 MyBatis全操作 1.Hello MyBatis 数据库表环境 CREATE TABLE ...

  5. MyBatis知多少(22)MyBatis删除操作

    本节从表中使用MyBatis删除记录. 我们已经在MySQL下有EMPLOYEE表: 1 CREATE TABLE EMPLOYEE ( 2 id INT NOT NULL auto_incremen ...

  6. MyBatis 实现增删CRUD

    七.MyBatis 实现增删CRUD 概念复习 1.1 功能:从应用程序角度出发,软件具有哪些功能. 1.2 业务:完成功能时的逻辑.对应 Service 中一个方法 1.3 事务:从数据库角度出发, ...

  7. 【高校宿舍管理系统】第二章 整合Mybatis和写CRUD的基本流程以及使用代码生成器生成Mapper等相关代码

    第二章 整合Mybatis和写CRUD的基本流程以及使用代码生成器生成Mapper等相关代码 提示:本博客个为人独立博客,不是权威,仅供参考!所有思路只做交流之用!如有不足之处,望各位在评论区友善指正 ...

  8. JavaWeb【Mybatis】Mybatis的操作步骤

    Mybatis的操作步骤 mybatis开发流程 1.创建SqlSessionFactoryBuilder对象 2.创建SqlSessionFactory对象 3.加载SqlMapConfig.xml ...

  9. mybatis crud_MyBatis教程– CRUD操作和映射关系–第1部分

    mybatis crud CRUD操作 MyBatis是一个SQL Mapper工具,与直接使用JDBC相比,它极大地简化了数据库编程. 步骤1:创建一个Maven项目并配置MyBatis依赖项. & ...

最新文章

  1. python cx_oracle 有超时的设置吗_python cx_Oracle的基础使用方法(连接和增删改查)
  2. python使用matplotlib可视化线图(line plot)、移除可视化结果的所有坐标轴信息(remove all axis in matplotlib graph)
  3. oracle, to_char(), to_number, ORA_01722
  4. pycharm控制台调试程序
  5. 百度地图的实现,IIS6.0,.net4.0 无法使用POST和GET
  6. asp java.class,以下不属于Java程序结构文件的是()。A.asp文件B.java文件C.class文件D.jar文件...
  7. python PIL.Image使用
  8. 【Java面试题】19 final,finally和finalize的区别
  9. 全文搜索引擎有哪些?_你想要拥有自己的搜索引擎吗?
  10. 跨平台最好用笔记软件——Simplenote
  11. 轻量函数式 JavaScript:十、函数式异步
  12. Openbox-桌面图标设置
  13. 树莓派如何接硬盘_树莓派添加USB外接硬盘
  14. 第2章 HashMap集合
  15. 闭锁 java_Java并发编程之闭锁
  16. 一文彻底掌握时间复杂度和大O表示法
  17. 什么是EE(exploration and exploitation)问题
  18. 大豆技术面分析_技术贴 | GIS三维视域分析—面要素
  19. 云米AI洗碗机Iron A1 AI消毒除菌版上手体验
  20. HSV与HSI颜色空间的区别以及和RGB之间的转换

热门文章

  1. mysql 索引触发_Mysql基本查询、视图、索引、触发器
  2. compare()方法+使用compare方法
  3. 通过Teamview后台去除限制
  4. 【历史上的今天】11 月 16 日:RISC-V 领导者出生;微软发布 Windows CE;电子管问世
  5. JAVA EE--13元老
  6. 译码器设计——Verilog HDL语言
  7. 艾司博讯:怎么增加拼多多访客数
  8. 《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜
  9. Linux进程与计划任务
  10. 苏州新闻网V2.0 新版上线