zoukankan      html  css  js  c++  java
  • 【MyBatis】增删改查语句入门

    1.根据参数查询用户

    UserMapper接口里面新添getUserById方法

      public interface UserMapper {
            //获取全部用户信息
            List<User> getUserList();
    
            //根据用户ID获取指定用户信息
            User getUserById(int id);
    
    }
    <?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="com.lei.dao.UserMapper">
    
    
        <select id="getUserList" resultType="com.lei.pojo.User">
           select * from mybatis.user
       </select>
    
        <select id="getUserById" resultType="com.lei.pojo.User" parameterType="int">
            select * from mybatis.user where id=#{id}
        </select>
    
    </mapper>
      //指定id获取用户测试
        @Test
        public void test()
        {
            SqlSession sqlSession=MybatisUtils.getSqlSession();//获取SqlSession对象
    
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            User user=userMapper.getUserById(1);
            System.out.println(user);;
    
    
            sqlSession.close();
    
        }

    最重要的是这一个mapper映射

    其中直接输出对象

      System.out.println(user);;

    Java中直接输出一个类的对象的时候,会调用这个类的toString()方法,自己写的类没有覆盖这个方法的话就是继承Object类的这个方法,Object中toString()方法的实现是这样的:

           getClass().getName() + "@" + Integer.toHexString(hashCode())。

      后面跟的是这个类的哈希码值,如果希望这个类打印出你希望的格式,你就要覆盖toString方法

    toString方法返回的是一个String类型的字符串。

    2.插入一个新用户

    在UserMapper接口里添加addUser方法,

     //插入一个新用户
            void addUser(User user);

    在UserMapper.xml里编写对应的映射  sql语句可以直接获得传来对象的变量id name pwd

    <insert id="addUser" parameterType="com.lei.pojo.User">
            insert into mybatis.user values (#{id},#{name},#{pwd})
        </insert>

    在测试类中进行测试

    注意提交事务,不然无法完成更新

     //插入一个新的用户
        @Test
        public void test(){
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            userMapper.addUser(new User(4,"cc","123445"));
    
            sqlSession.commit();//注意提交事务
            sqlSession.close();
    
    
        }

    3.更新一个用户

    还是刚才那三步

    UserMapper

    //更新用户数据
            void updateUser(User user);

    UserMapper.xml

    <update id="updateUser" parameterType="com.lei.pojo.User">
            update mybatis.user set name=#{name}, pwd=#{pwd}  where id=#{id};
        </update>

    test方法

      //更新一个用户的数据
        @Test
        public void test()
        {
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            userMapper.updateUser(new User(4,"cgl","123123"));
    
            sqlSession.commit();
            sqlSession.close();
        }

    4.删除一个用户

            //删除一个用户
            void deleteUser(int id);
     <delete id="deleteUser" parameterType="int">
            delete from mybatis.user where id=#{id}
        </delete>
     //删除一个用户
        @Test
        public void test(){
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            userMapper.deleteUser(4);
    
            sqlSession.commit();
            sqlSession.close();
        }

    5.使用一个map进行添加用户

            //用map插入一个新用户
            void addUserMap(Map<String,Object> map);
     <insert id="addUserMap" parameterType="map">
            insert into user values (#{mapId},#{mapName},#{mapPwd})
        </insert>
      //以map的形式添加一个用户
        @Test
        public void testaddUserMap(){
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            Map<String,Object> map=new HashMap<>();
            map.put("mapId",3);
            map.put("mapName","ccmap");
            map.put("mapPwd","123123");
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            userMapper.addUserMap(map);
            
            sqlSession.commit();
            sqlSession.close();
        }

  • 相关阅读:
    利用idea的code inspect功能进行代码静态分析
    AntiSamy测试
    常用git命令
    node 常用命令
    java中byte[] 和16进制字符串互转
    使用idea的条件断点快速定位注解的处理类
    使用数组初始化list
    django连接Mysql数据库
    20分钟快速用django+mysql+pycharm搭建一个自己的web网站学习笔记
    随便谈谈------关于django学习笔记
  • 原文地址:https://www.cnblogs.com/cckong/p/14317814.html
Copyright © 2011-2022 走看看