幽兰生空谷
--绝世独自开

Mybatis快速入门(二)-简单的增删改查

简单的增删改查:

接着MyBytis快速入门(一)的项目继续做

mapper文件

<?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">
<mapper namespace="userMapper">
    <!--查询用户-->
    <select id="findAll" resultType="com.itheibai.entity.User">
        select * from user
    </select>
    <!--插入用户-->
    <insert id="save" parameterType="com.itheibai.entity.User">
        insert into user values (#{id},#{username},#{password})
    </insert>
    <!--更新用户-->
    <update id="updateById" parameterType="com.itheibai.entity.User">
        update user set username=#{username},password=#{password} where id=#{id}
    </update>
    <!--删除用户-->
    <delete id="deleteById" parameterType="Integer">
        delete from user where id=#{id}
    </delete>
</mapper>

测试类

package com.itheibai.test;
import com.itheibai.entity.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.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisTest {
    /**
     * 删除操作
     * @throws IOException
     */
    @Test
    public void test4() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int delete = sqlSession.delete("userMapper.deleteById", 5);
        System.out.println(delete);
        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }
    /**
     * 更新操作
     * @throws IOException
     */
    @Test
    public void test3() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //构造模拟要更改的user数据
        User user = new User();
        user.setId(5);
        user.setUsername("李八");
        user.setPassword("654321");
        int update = sqlSession.update("userMapper.updateById", user);
        System.out.println(update);
        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }
    /**
     * 插入操作
     * @throws IOException
     */
    @Test
    public void test2() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //构造模拟插入 user 的数据
        User user = new User();
        user.setUsername("李七");
        user.setPassword("123456");
        int insert = sqlSession.insert("userMapper.save", user);
        System.out.println(insert);
        //提交事务
        sqlSession.commit();
        //释放资源
        sqlSession.close();
    }
    /**
     * 查询所有用户
     * @throws IOException
     */
    @Test
    public void test1() throws IOException {
        //获得核心配置文件,导入的是相对地址
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        //获取session工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获得会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //执行操作 参数: namespace+id
        List<User> userList = sqlSession.selectList("userMapper.findAll");
        //打印数据
        System.out.println(userList);
        //释放资源
        sqlSession.close();
    }
}

注意事项:

插入语句使用insert标签

在映射文件中使用parameterType属性指定要插入的数据类型

Sql语句中使用#{实体属性名}方式引用试题中的属性值

插入操作使用的API是sqlSession.insert(“命名空间.id”,实体对象)

插入操作涉及数据库数据变化,所以要使用sqlSession对象显示的提交事务,即sqlSession.commit()

赞(3) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Mybatis快速入门(二)-简单的增删改查》
文章链接:https://www.itheibai.com/archives/194
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。

评论 抢沙发

评论前必须登录!

 

养成“打赏”的好习惯,从我做起!

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册