zoukankan      html  css  js  c++  java
  • mybatis实现增删改查

    在第一次实现对数据库的查询后,练习了对数据库的增删改查;修改UserMapper接口文件和UserMapper.xml文件。还需修改测试文件进行测试

    UserMapper.java

    package dao;
    
    import pojo.User;
    
    import java.util.List;
    
    public interface UserMapper {
        //查询全部用户
        List<User> getUserList();
        //根据ID查询用户
        User getUserById(int id);
        //插入一个用户
        int addUser(User user);
        //修改用户
        int updateUser(User user);
        //删除用户
        int deleteUser(int id);
    }

    UserMapper.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=绑定一个对应的Dao/Mapper接口-->
    <mapper namespace="dao.UserMapper">
        <!--id为接口方法,resultType为返回值类型,parameterType参数类型-->
        <select id="getUserList" resultType="pojo.User">
            select * from mybatis.user
        </select>
        <select id="getUserById" parameterType="int" resultType="pojo.User">
            select * from mybatis.user where id = #{id}
    
        </select>
        <!--对象中的属性可以直接取出来-->
        <insert id="addUser" parameterType="pojo.User">
            insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
        </insert>
        <update id="updateUser" parameterType="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>

    测试文件:UserDaoTest.java

    package dao;
    
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    import pojo.User;
    import utils.MybatisUtils;
    
    import java.util.List;
    
    public class UserDaoTest {
        @Test
        public  void test()
        {
            //获得SqlSession对象
            SqlSession sqlSession=MybatisUtils.getSqlSession();
            //执行Sql
    
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            List<User> userList=userMapper.getUserList();
    
            for(User user:userList)
            {
                System.out.println(user.getId());
            }
            //关闭SqlSession
            sqlSession.close();
        }
        @Test
        public void getUserById()
        {
            //获得SqlSession对象
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            //获得接口
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            User user=mapper.getUserById(1);
            System.out.println(user.getName());
    
            //关闭SqlSession
            sqlSession.close();
        }
        //增删改需要提交事务
        @Test
        public void addUser()
        {
            //获得SqlSession对象
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            //获得接口
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            int flag=mapper.addUser(new User(3,"苗可卓3","3"));
            if(flag>0)
            {
                System.out.println("插入成功");
            }
            //提交事务
            sqlSession.commit();
            //关闭SqlSession
            sqlSession.close();
        }
        @Test
        public void updateUser()
        {
            //获得SqlSession对象
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            //获得接口
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            int flag=mapper.updateUser(new User(1,"苗迪","miaodi"));
            if(flag>0)
            {
                System.out.println("修改成功");
            }
            //提交事务
            sqlSession.commit();
            //关闭SqlSession
            sqlSession.close();
        }
        @Test
        public void deleteUser()
        {
            //获得SqlSession对象
            SqlSession sqlSession=MybatisUtils.getSqlSession();
    
            //获得接口
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            int flag=mapper.deleteUser(1);
            if(flag>0)
            {
                System.out.println("删除成功");
            }
            //提交事务
            sqlSession.commit();
            //关闭SqlSession
            sqlSession.close();
        }
    }

     注意事项,在Sql的CRUD操作中,增删改需要提交事务。

  • 相关阅读:
    公布一些常用的WebServices
    ARM的嵌入式Linux应用程序开发研究
    c++读写剪贴板代码
    如何破解路由器密码(CISCO)!
    用Shell扩展实现源代码统计程序(转)
    图文例解C++类的多重继承与虚拟继承
    MSDN上关于ADO示例代码
    不错的句子
    codeforces #271(div2) F. Ant colony
    [Z]CUDA中Bank conflict冲突
  • 原文地址:https://www.cnblogs.com/yizhixiaozhu/p/14649820.html
Copyright © 2011-2022 走看看