zoukankan      html  css  js  c++  java
  • MyBatis基于传统dao的开发(不是很重要)

    MyBatis开发Dao有两种方式 传统dao开发的形式 使用接口代理开发的方式
    下面稍微介绍一下传统dao的开发方式
    所以这里我们不仅给出了dao接口 并且给出了其实现类 所以我们创建了一个userdaoimpl实现类 去实现iuserdao接口
    这里仅仅示范其中的一个方法 不做详细的解释
    public class UserDaoImpl implements IUserDao{
    private SqlSessionFactory sqlSessionFactory;

    public UserDaoImpl(SqlSessionFactory sqlSessionFactory){
        this.sqlSessionFactory = sqlSessionFactory;
    }
    //我们仅仅实现了这个方法 鸡查询所有的方法
    public List<User> findAll() {
        SqlSession session = sqlSessionFactory.openSession();
        List<User> users = session.selectList("com.itheima.dao.IUserDao.findAll");
        session.close();
        return users;
    }
    
    public void saveUser(User user) {
    
    }
    
    public void updateUser(User user) {
    
    }
    
    public void deleteUser(Integer id) {
    
    }
    
    public User findById(Integer id) {
        return null;
    }
    
    public List<User> findByName(String username) {
        return null;
    }
    
    public int findTotal() {
        return 0;
    }
    
    public List<User> findUserByVo(QueryVo vo) {
        return null;
    }
    
    public List<User> findUserByCondition(User user) {
        return null;
    }
    
    public List<User> findUserByIds(QueryVo vo) {
        return null;
    }
    

    }
    映射配置类一样
    最后书写测试类 这里也仅仅示范一个测试类 其余差不多
    public class MyBatisTest2{
    private InputStream in;
    private SqlSessionFactory sqlSessionFactory;
    private IUserDao userDao;

    @Test
    public void test() throws IOException {
        in = Resources.getResourceAsStream("SqlMapConfig.xml");//读取配置文件 返回一个输入流
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);//使用构建者设计模式去创建工厂
        userDao = new UserDaoImpl(sqlSessionFactory);//传入工厂去生产一个具体的dao对象
        List<User> users = userDao.findAll();//因为这里我们有直接的实现方式 所以根本不需要用代理者模式 所以直接使用对象调用相应的方法即可
        for(User user : users){//遍历结果 进行输出
            System.out.println(user);
        }
    }
    

    }
    最后的测试结果:
    User{userId=41, userName='老王', userSex='男', userBirthday=Tue Feb 27 17:47:08 CST 2018, userAddress='北京'}
    User{userId=43, userName='小王', userSex='女', userBirthday=Sun Mar 04 11:34:34 CST 2018, userAddress='深圳'}
    User{userId=45, userName='二王', userSex='男', userBirthday=Sun Mar 04 12:04:06 CST 2018, userAddress='南京'}
    User{userId=46, userName='王二麻子', userSex='男', userBirthday=Wed Mar 07 17:37:26 CST 2018, userAddress='天津'}

  • 相关阅读:
    实验三 进程调度模拟程序
    实验二作业调度模拟程序
    最新广商小助手 项目进展 OpenGL ES 3D在我项目中引用 代码太多只好选重要部分出来
    最后冲刺 我的项目 广商小助手
    最新一课 老师指点用Listview适配器
    安卓小学生四则运算
    大三上学期安卓一边学一边开始做一个自己觉得可以的项目 广商小助手App 加油
    我要再接再力 学更多
    用场景来规划测试工作
    阅读第13,14,15,16,17章
  • 原文地址:https://www.cnblogs.com/phantom576/p/11945756.html
Copyright © 2011-2022 走看看