• 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='天津'}

  • 相关阅读:
    Java连接MongoDB样例
    Java Web项目BlogAutoGenerator编写日志1
    《算法竞赛入门经典》 第二章 循环结构程序设计 习题
    使用 Apache Tiles 3 构建页面布局
    Maven新建一个Spring MVC项目
    Maven手动添加dependency(以Oracle JDBC为例)
    一个简单的ServletContextListener示例
    《算法竞赛入门经典》学习笔记 2.4.4 C++中的输入输出
    《C++ Primer Plus》学习笔记 2.1.3 C++预处理器和iostream文件
    C# 温故而知新:Stream篇(—)
  • 原文地址:https://www.cnblogs.com/phantom576/p/11945756.html
Copyright © 2020-2023  润新知