美文网首页
Mybatis传统的DAO包装

Mybatis传统的DAO包装

作者: 我是java程序员 | 来源:发表于2018-11-22 14:51 被阅读0次

1.使用之前的User实体类以及映射文件及核心配置文件
2.创建UserDao接口
UserDao.java

package com.wuhaitao.mybatis.demo2.dao;

import java.util.List;

import com.wuhaitao.mybatis.demo1.User;

public interface UserDao {
    //根据用户id查询用户信息
    public User getUserById(Integer id);
    //根据用户名称查找用户信息
    public List<User> getUserByUsername(String username);
    //添加用户
    public void insertUser(User user);
}

3.UserDao接口的实现类UserDaoImpl
UserDaoImpl.java

package com.wuhaitao.mybatis.demo2.daoimpl;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import com.wuhaitao.mybatis.demo1.SqlSessionFactoryUtils;
import com.wuhaitao.mybatis.demo1.User;
import com.wuhaitao.mybatis.demo2.dao.UserDao;

public class UserDaoImpl implements UserDao {
    
    @Override
    public User getUserById(Integer id) {
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        User user = sqlSession.selectOne("user.getUserById", id);
        sqlSession.close();
        return user;
    }

    @Override
    public List<User> getUserByUsername(String username) {
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        List<User> list = sqlSession.selectList("user.getUserByUsername",username);
        sqlSession.close();
        return list;
    }
    
    @Override
    public void insertUser(User user) {
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        sqlSession.insert("user.insertUser", user);
        sqlSession.commit();
        sqlSession.close();
    }
}

4.测试类
UserDaoTest.java

package com.wuhaitao.mybatis.demo2.test;


import java.util.List;

import org.junit.Test;

import com.wuhaitao.mybatis.demo1.User;
import com.wuhaitao.mybatis.demo2.dao.UserDao;
import com.wuhaitao.mybatis.demo2.daoimpl.UserDaoImpl;

public class UserDaoTest {

    @Test
    public void testGetUserById() {
        UserDao userDao = new UserDaoImpl();
        User user = userDao.getUserById(29);
        System.out.println(user);
    }

    @Test
    public void testGetUserByUsername() {
        UserDao userDao = new UserDaoImpl();
        List<User> list = userDao.getUserByUsername("张");
        for (User user : list) {
            System.out.println(user);
        }
    }

    @Test
    public void testInsertUser() {
        UserDao userDao = new UserDaoImpl();
        User user = new User();
        user.setUsername("白鸽");
        user.setSex("2");
        user.setAddress("天津");
        userDao.insertUser(user);
    }
}

相关文章

网友评论

      本文标题:Mybatis传统的DAO包装

      本文链接:https://www.haomeiwen.com/subject/onelqqtx.html