使用mybatis完成简单的crud操作

目录

1.配置核心配置文件和jdbc.properties

2、 装mybatis工具类

3、创建实体类

4、创建mapper接口

5、编写测试类


下面介绍基于注解的方式实现基本的 CRUD 操作

1.配置核心配置文件和jdbc.properties

记扫描mapper包!!!

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="jdbc.properties"></properties>
    <typeAliases>

    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
<mappers>
    <package name="com.mybatis.dao"/>
</mappers>

</configurati

2、 装mybatis工具类

如果代码书写正确但数据库没有写入数据,记得检查是否提交了事务(sqlsession.commit)

public class MybatisUtil {
    private static  SqlSessionFactory sqlSessionFactory;
    static {
        String resource ="mybatis-config.xml";
        try {
            InputStream resourceAsStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession( );
    }

    public static void closeSqlSession(SqlSession sqlSession){
        sqlSession.commit();
        if (sqlSession != null){
            sqlSession.close();
        }

    }}

3、创建实体类

public class User {   
 Integer id;
    String username;
    String password;
    Integer age;
}
//省略get set方法

4、创建mapper接口

在mapper接口中,使用注解的形式写sql语句。


@Mapper
public interface UserMapper {

    //查询用户
   @Select("select * from user")
    List<User> getAll();

   //通过id查询用户
    @Select("select * from user where id = #{id}")
    User selectUserById(Integer id);

    //通过name查询用户
    @Select("select * from user where username = #{name}")
    List<User> selectUserByName(String name);

    //添加用户
    @Insert("insert into user(username,password) values ( #{username}, #{password} )")
    int insertUser(User user);

    //修改用户
    @Update("update user set password=#{password} where id = #{id}")
    void updateUser(User user);
}

5、编写测试类

public class MyTest {
    @Test
    public  void getAllTest(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> all = mapper.getAll();
        MybatisUtil.closeSqlSession(sqlSession);
        for (User list:all){
            System.out.println(list);
        }

        }
    @Test
    public  void getUserByIdTest(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.selectUserById(4);
        System.out.println(user);
    }
    @Test
    public void getUserByNameTest(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> admin = (List<User>) mapper.selectUserByName("admin");
        System.out.println(admin);
    }
    @Test
    public void insertUserTest() throws IOException {
        User user = new User();
        user.setUsername("pp");
        user.setPassword("123");
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.insertUser(user);
        sqlSession.commit();

    }
    @Test
    public void updateUserTest(){
        User user = new User();
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        user.setPassword("000");
        user.setId(4);
        mapper.updateUser(user);
        MybatisUtil.closeSqlSession(sqlSession);
    }

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值