zoukankan      html  css  js  c++  java
  • 2、CRUD

    1、namespace

    namespace中的包名要和接口的包名一致!

    image


    2、select

    • id:就是对应的namespace中的方法名;
    • resultType:SQL语句执行的返回值;
    • parameterType:参数类型;

    3、insert

    4、update

    5、Delete

    【示例】测试CRUD

    (1)编写接口;

    package com.baidou.dao;
    
    import com.baidou.pojo.User;
    
    import java.util.List;
    
    public interface UserMapper {
    
        /**
         * 获取全部的用户
         */
        List<User> getUserList();
    
        /**
         * 通过ID获取用户
         * @param id
         * @return
         */
        List<User> getUserById(int id);
    
        /**
         * 添加用户
         * @param user
         * @return
         */
        int addUser(User user);
    
        /**
         * 修改用户信息
         * @param user
         * @return
         */
        int updateUser(User user);
    
        /**
         * 删除用户
         * @param id
         * @return
         */
        int deleteUser(int id);
    
    }
    

    (2)编写对应mapper的sql;

    <?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:绑定一个对应的Dao/Mapper接口 -->
    <mapper namespace="com.baidou.dao.UserMapper">
        <!-- select查询语句,id:绑定对应方法名,resultType:返回值类型 -->
        <select id="getUserList" resultType="com.baidou.pojo.User">
            select  * from mybatis.user ;
        </select>
    
        <select id="getUserById" resultType="com.baidou.pojo.User" parameterType="int">
            select * from mybatis.user where id = #{id} ;
        </select>
    
        <insert id="addUser" parameterType="com.baidou.pojo.User">
            insert into mybatis.user (name, pwd) values(#{name},#{pwd}) ;
        </insert>
    
        <update id="updateUser" parameterType="com.baidou.pojo.User">
            update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id} ;
        </update>
    
        <delete id="deleteUser" parameterType="int">
            delete from mybatis.user where id =#{id} ;
        </delete>
    </mapper>
    

    (3)测试

    package com.baidou.dao;
    
    import com.baidou.pojo.User;
    import com.baidou.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    
    import java.util.List;
    
    public class UserDaoTest {
    
        @Test
        public void test() {
            // 获取SqlSession对象
            SqlSession sqlSession = MybatisUtils.getSqlSession();
    
            // 方式一:getmapper
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            List<User> userList = mapper.getUserList();
    
    
            // 方式二:
            // List<User> userList = sqlSession.selectList("com.baidou.dao.UserDao.getUserList");
    
            for (User user : userList) {
                System.out.println(user);
            }
    
            //关闭SqlSession
            sqlSession.close();
        }
    
        @Test
        public void getUserById() {
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            List<User> user = mapper.getUserById(1);
            System.out.println(user);
            // 关闭SqlSession
            sqlSession.close();
        }
    
        @Test
        public void addUser() {
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            System.out.println(mapper.addUser(new User("风清扬", "fenqingyang")) > 0 ? "添加成功" : "添加失败");
            // 增删改需要提交事务
            sqlSession.commit();
            // 关闭SqlSession
            sqlSession.close();
        }
    
        @Test
        public void updateUser(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            System.out.println(mapper.updateUser(new User(3, "王富贵", "wangfugui")) > 0 ? "修改成功" : "修改失败");
            // 提交事务
            sqlSession.commit();
            sqlSession.close();
        }
    
        @Test
        public void deleteUser() {
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            System.out.println(mapper.deleteUser(3) > 0 ? "删除成功" : "删除失败");
            // 提交事务
            sqlSession.commit();
            // 关闭SqlSession
            sqlSession.close();
        }
    }
    

    注意:增删改需要提交事务!!!

  • 相关阅读:
    体育场馆预订系统版本1.0
    需求分析
    系统界面主地图
    详细设计
    概要设计
    测试用例正式发布
    第二次全体会议顺利召开5.30
    第一次小组会议(5.24)
    SDk编程基础
    单词canutillos祖母绿canutillos英语
  • 原文地址:https://www.cnblogs.com/m987/p/15333110.html
Copyright © 2011-2022 走看看