写点什么

软件测试学习笔记丨后端接口开发 - MyBatis 增删改查

作者:测试人
  • 2024-05-07
    北京
  • 本文字数:2021 字

    阅读完需:约 7 分钟

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30481

一,添加配置文件 TestUserMapping.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace:命名空间,与sql标签的id属性共同构成唯一标识--><mapper namespace="findUser"> <!-- resultType:返回结果类型,完成自动的映射封装,value为对应封装的实体类全路径(包名+类名)--> <select id ="findAll" resultType="com/ceshiren/entity/TestUser"> <!--这里建立映射关系--> SELECT * FROM test_user </select>
<select id ="findById" parameterType="int"> SELECT * FROM test_user where id=#{id} </select>
<!--新增 #{}是占位符,引用实体类中的属性的值 --><!-- parameterType :指定要插入的数据类型,即实体类--> <insert id ="insertUser" parameterType="com/ceshiren/entity/TestUser"> <!--这里建立映射关系--> INSERT * INTO test_user(user_name,password,email,auto_create_case_job_name,start_test_job_name,create_time,update_time) values (#{username},#{password},#{email},#{autoCreateCaseJobName},#{startTestJobName},#{createTime},#{updateTime}) </insert>

<!-- 修改数据--> <update id ="updatetUser" parameterType="com/ceshiren/entity/TestUser"> <!--这里建立映射关系--> UPDATE test_user SET user_name=#{username}, password=#{password}, email=#{email} where id=395 </update>
<!--删除--><!-- parameterType 为参数类型--> <delete id="deleteUser" parameterType="java.lang.Integer"> delete from test_user where id = #{id} </delete>

</mapper>
复制代码

二,编写对应的测试代码

package com.ceshiren;
import com.ceshiren.entity.TestUser;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.jupiter.api.Test;import java.io.IOException;import java.io.InputStream;import java.time.LocalDate;import java.time.LocalDateTime;import java.util.List;

public class MybatisTest {
@Test void mybatisTest(){ try {// (1) 加载核心配置文件 InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");// (2) 获取sqlSessionFactory工厂对象 SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);// (3) 获取sqlSession会话对象 SqlSession sqlSession = build.openSession();// (4) 执行sql(获取TestUserMapping文件配置的数据sql,s为 namespace + id List<Object> selectList = sqlSession.selectList("findUser.findAll", TestUser.class);// (5) 打印结果 selectList.forEach(System.out::println);// (6) 释放资源 sqlSession.close(); } catch (IOException e) { e.printStackTrace(); } }
@Test void insertUser() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml"); SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = build.openSession(); TestUser testUser = new TestUser(); testUser.setUserName("demi"); testUser.setPassword("123456"); testUser.setEmail("1265967088@qq.com"); testUser.setCreateTime(LocalDate.now()); int insert = sqlSession.insert("user.insertUser", testUser); System.out.println(insert); sqlSession.commit(); //必须要加上事务提交,不然数据插入不会成功 sqlSession.close();
}
@Test void updateUser() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml"); SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
复制代码

软件测试开发免费视频教程分享

发布于: 刚刚阅读数: 4
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨后端接口开发 - MyBatis 增删改查_软件测试_测试人_InfoQ写作社区