码迷,mamicode.com
首页 > 其他好文 > 详细

3.CRUD(增删改查)

时间:2020-02-21 14:29:38      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:https   需要   事务   click   ima   doc   链接   最大   cli   

Select

选择,查询语句

id:就是对应的namespace中的方法名;

resultTypeSql语句执行的返回值;

parameterType:参数类型

 

我们想使用查询语句首先要在UserMapper.java定义新的抽象方法

 

Such as

技术图片

 

 之后,我们在UserMapper.xml里面写我们的sql语句

<!--注意id是新的抽象方法-->
<select id="getUserById" resultType="com.zou.pojo.User">
    select * from mybatis."user" where id = #{id};
</select>

两文件的关系

技术图片

 

 Ok,接下来我们写测试类吧

 

public class test {
    //查询所有用户和密码
    @Test
    public void getUserById(){
        //通过MybatisUtils工具类获得sqlSession对象,这句话是写死的
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        //我们需要做的就是写中间这段代码
        //获取接口
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //我们查一下一号用户
       User user = mapper.getUserById(1);
       System.out.println(user);

        //关闭sqlSession,这句话是写死的
        sqlSession.close();
    }
}

 

技术图片

 

 基本就是以上这些步骤

上面执行了查询语句,接下来我们编写增删改的代码

我们费那么大力气搭建Mybatis项目,就是为了之后的方便,以后只用修改几个地方

注意:增删改和查询的最大区别是必须用sqlSession提交业务,否则无法成功!

1、UserMapper接口类

需要在UserMapper接口类中定义新的抽象方,不用删掉之前的方法,我们后边测试的时候只调用需要的方法即可

技术图片
public interface UserMapper {
    //查询全部用户
    List<User> getUserList();

    //根据ID查询用户
    User getUserById(int id);

    //增加一个用户
    int addUser(User user);

    //修改用户
    int updateUser(User user);

    //删除用户
    int deleteUser(int id);
}
View Code

2、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="com.zou.dao.UserMapper">

    <!--查询语句-->
    <select id="getUserList" resultType="com.zou.pojo.User">
        select * from mybatis.user;
    </select>

    <!--根据ID查询用户名和密码-->
    <select id="getUserById" parameterType="int" resultType="com.zou.pojo.User">
        select * from mybatis.user where id = #{id};
    </select>

    <!--增加一个用户-->
    <insert id="addUser" parameterType="com.zou.pojo.User">
        insert into mybatis.user(id, name, pwd) value (#{id},#{name},#{pwd});
    </insert>

    <!--修改一个用户-->
    <update id="updateUser" parameterType="com.zou.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>
View Code

3、UserMapperTest测试类

技术图片
public class UserMapperTest {
    //查询所有用户和密码
    @Test
    public void test(){
        //第一步:获得sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //方式一:getMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = mapper.getUserList();

        for (User user : userList) {
            System.out.println(user);
        }

        //关闭sqlSession
        sqlSession.close();
    }

    //根据ID查询用户和密码
    @Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        User user = mapper.getUserById(1);
        System.out.println(user);

        sqlSession.close();
    }

    //增删改需要提交事务

    //增加一个用户
    @Test
    public void addUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.addUser(new User(4, "王五", "123456"));

        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }

    //修改一个用户
    @Test
    public void updateUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(new User(4,"田七","123123"));

        sqlSession.commit();
        sqlSession.close();
    }

    //删除一个用户
    @Test
    public void deleteUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.deleteUser(4);
        sqlSession.commit();
        sqlSession.close();
    }
}
View Code

版权声明:以上大部分为CSDN博主「饿死在深夜」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_44986648/article/details/103143992

依旧是喜欢大力的一天

技术图片

 

 

 

 

 

3.CRUD(增删改查)

标签:https   需要   事务   click   ima   doc   链接   最大   cli   

原文地址:https://www.cnblogs.com/tuyaojiao/p/12341083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!