CRUD(实现)

一.select

选择查询语句;
1.id:就是对应的namespace中的方法名
2.resultType:sql语句执行的返回值!
3.parameterType:参数类型!

1.编写接口

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

2.编写对应的mapper中的sql语句

 <select id="getUserById" parameterType="int" resultType="com.Rain.Pojo.User">
        select * from user where id=#{id}
    </select>

3.测试

  @Test
    public void getUserById(){
        //第一步:获得sqlsession对象
        SqlSession sqlSession= MybatisUtils.getSqlSession();

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

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

        sqlSession.close();
    }

4.查询全部

1.编写接口

//查询全部用户
    List<User> getUserList();

2.编写对应的mapper中的sql语句

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

3.测试

  @Test
    public void test(){
        //第一步:获得sqlsession对象
        SqlSession sqlSession= MybatisUtils.getSqlSession();

        //方式一:getMapper
        UserMapper userDao = sqlSession.getMapper(UserMapper.class);
        List<User> userList = userDao.getUserList();

//        方式二:不建议使用
//        List<User> objects = sqlSession.selectList("com.Rain.Dao.UserDao.getUserList");

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

二.insert(增删改需要提交事务)

1.编写接口

//添加一个元素
    int addUser(User user);

2.编写对应的mapper中的sql语句

<!--对象中的属性,可以直接获取出来-->
    <insert id="addUser" parameterType="com.Rain.Pojo.User">
        insert into user (`id`,`name`,`pwd`) values (#{id},#{name},#{pwd});
    </insert>

3.测试

    //增删改需要提交事务
    @Test
    public void addUser(){
        //第一步:获得sqlsession对象
        SqlSession sqlSession= MybatisUtils.getSqlSession();

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

        int res= mapper.addUser(new User(4, "萧寒", "123456"));
        if (res>0){
            System.out.println("插入成功!");
        }
        //提交事务
        sqlSession.commit();

        sqlSession.close();
    }

三.update

1.编写接口

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

2.编写对应的mapper中的sql语句

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

3.测试

 @Test
    public void updateUser(){
        //第一步:获得sqlsession对象
        SqlSession sqlSession= MybatisUtils.getSqlSession();

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

        mapper.updateUser(new User(4, "韩飞", "123654)"));

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

        sqlSession.close();
    }

四.delete

1.编写接口

//deleteUser删除
    int deleteUser(int id);

2.编写对应的mapper中的sql语句

<delete id="deleteUser" parameterType="com.Rain.Pojo.User">
        delete from user where id=#{id};
    </delete>

3.测试

@Test
    public void deleteUser(){
        //第一步:获得sqlsession对象
        SqlSession sqlSession= MybatisUtils.getSqlSession();

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

        mapper.deleteUser(2);

        sqlSession.commit();

        sqlSession.close();

    }

mybatis-config配置文件

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!-- 配置连接数据库的4个基本信息 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=GMT&amp;nullCatalogMeansCurrent=true"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>

        </environment>
    </environments>

<!--    每一个Mapper.xml都需要在mybatis核心配置文件中注册-->
    <mappers>
        <mapper resource="com/Rain/Dao/UserMapper.xml"></mapper>
    </mappers>

</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值