软件测试学习笔记丨后端接口开发 - 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
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/43158510b906d270723622b09】。文章转载请联系作者。
测试人
关注
专注于软件测试开发 2022-08-29 加入
霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284







评论