Mybatis入门程序-实现对用户的增删改查

实现根据用户名模糊查询用户
查询 sql
SELECT * FROM `user` WHERE username LIKE '% %'
方法一
映射文件
User.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">
<mapper namespace="test">
<select id="queryUserByUsername1" parameterType="string" resultType="User">
    select * from user where username like #{username}
</select>
</mapper>

测试程序

MybatisTest 中添加测试方法如下:

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;


import java.io.InputStream;
import java.util.List;


public class MybatisTest {
    private SqlSessionFactory sqlSessionFactory=null;

    @Before
    public void init() throws Exception{
        //1.创建SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();

        //2.加载mybatis-config配置文件
        InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");

        //3.创建sqlSessionFactory对象
        this.sqlSessionFactory=sqlSessionFactoryBuilder.build(inputStream);
    }
    

    @Test
    public void testQueryUserByUsername1() throws Exception{
        SqlSession sqlSession=sqlSessionFactory.openSession();
        List<User> list=sqlSession.selectList("test.queryUserByUsername1","%王%");
        for(User user:list){
            System.out.println(user);
        }
        sqlSession.close();
    }
}

方法二
映射文件:
User.xml 配置文件中添加如下内容:
<!-- 如果传入的参数是简单数据类型,${}里面必须写 value -->
<select id="queryUserByUsername2" parameterType="string"
resultType="com.haust.mybatis.pojo.User">
SELECT * FROM `user` WHERE username LIKE '%${value}%'
</select>
测试程序:
MybatisTest 中添加测试方法如下:
    @Test
    public void testQueryUserByUsername2() throws Exception{
        SqlSession sqlSession=sqlSessionFactory.openSession();
        List<Object> list=sqlSession.selectList("queryUserByUsername2","王");
        for(Object user : list){
            System.out.println(user);
        }
        sqlSession.close();
    }

2MyBatis 入门程序——添加用户

使用的 sql
INSERT INTO `user` (username,birthday,sex,address) VALUES
('张飞 ','2016-07-26','男','蜀国 ')
映射文件:
User.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">
<mapper namespace="test">
    <insert id="saveUser" parameterType="User">
        insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
    </insert>
</mapper>
测试程序
MybatisTest 中添加测试方法如下:
@Test
    public void testSaveUser(){

        SqlSession sqlSession=sqlSessionFactory.openSession();

        User user=new User();
        user.setUsername("张飞");
        user.setSex("男");
        user.setBirthday(new Date());
        user.setAddress("蜀国");

        sqlSession.insert("test.saveUser",user);
        System.out.println(user);

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

3MyBatis 入门程序——更新用户

修改用户
根据用户 id 修改用户名
使用的 sql
UPDATE `user` SET username = ' 赵云 ' WHERE id = 26
映射文件
User.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">
<mapper namespace="test">
    <update id="updateUserById" parameterType="User">
        update user set username=#{username} where id=#{id}
    </update>
</mapper>
测试程序
MybatisTest 中添加测试方法如下:
    @Test
    public void testUpdateUserById(){
        SqlSession sqlSession=sqlSessionFactory.openSession();
        User user=new User();
        user.setId(26);
        user.setUsername("赵云");
        user.setSex("1");
        user.setBirthday(new Date());
        user.setAddress("蜀国");

        sqlSession.update("test.updateUserById",user);

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

4MyBatis 入门程序——删除用户

删除用户
根据用户 id 删除用户
使用的 sql
DELETE FROM `user` WHERE id = 47
映射文件:
User.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">
<mapper namespace="test">
    <delete id="deleteUserById" parameterType="int">
        delete from user where id=#{id}
    </delete>
</mapper>
测试程序:
MybatisTest 中添加测试方法如下:
    @Test
    public void testDeleteUserById(){
        SqlSession sqlSession=sqlSessionFactory.openSession();

        sqlSession.delete("test.deleteUserById",2);

        sqlSession.commit();

        sqlSession.close();
    }

以上就是基本的用法,希望能够帮助到大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值