public static void main(String[] args)throws Exception {
//1.读取配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
读取时有两种路径模式:绝对和相对;绝对:d:/xxx/xxx.xml 相对:src/java/main/xxx.xml
一般两种都不用,一般使用类加载器(它只能读取类路劲的配置文件)和使用servlet对象的getRealPath()(能得到一个当前应用的部署的绝对路劲)
//2.创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
创建工厂mybatis使用了构建者模式(负责创建工厂)
创建者模式:把对象的创建细节隐藏,是使用者直接调用方法即可拿到对象。
builder就是构建者
//3.使用工厂生产SqlSession对象
SqlSession session = factory.openSession();
使用工厂模式:生产SqlSession
优势:解耦(减低类之间的依赖关系)
//4.使用SqlSession创建Dao接口的代理对象
IUserDao userDao = session.getMapper(IUserDao.class);
创建dao接口实现类使用了代理模式,
优势:不修改源码的基础上对已有方法增强,实现不写dao实现类也能实现功能。
//5.使用代理对象执行方法
List<User> users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
//6.释放资源
session.close();
in.close();
}
mybatis入门案例中的设计模式分析
最新推荐文章于 2024-08-21 23:39:15 发布