talk is cheap, show me the code!
public class testmybatis { public static void main(string[] args) throws ioexception { //1. 读取配置文件 inputstream resource = resources.getresourceasstream("mybatis.xml"); //2. 创建sqlsessionfactory工厂 sqlsessionfactorybuilder builder = new sqlsessionfactorybuilder(); sqlsessionfactory factory = builder.build(resource); //3. 使用工厂模式创建sqlsession对象 sqlsession sqlsession = factory.opensession(); //4. 使用sqlsession对象创建mapper(dao接口)的代理对象 itemsmapper mapper = sqlsession.getmapper(itemsmapper.class); //5. 使用代理对象执行方法 list<items> items = mapper.selectall(); for (items item : items) { system.out.println(item); } //6. 释放资源 sqlsession.close(); resource.close(); } }
以上这段mybatis的入门案例代码,相信每一个了解mybatis的朋友都能看得懂,知码酱同学今天也细细品了品!
项目的路径问题 : resources.getresourceasstream("mybatis.xml");
在实际的项目中,并不推荐众所周知的相对路径和绝对路径。
src/main/java/xxx.xml
web应用是需要部署到服务器上的,一旦部署,项目的路径就会发生改变,然后。。。。一堆404;f:/project/xxx/xxx.xml
要知道,服务器可不一定有我们的f盘,况且推荐使用linux系统的服务器;
使用==构建者模式==创建sqlsessionfactory对象
sqlsessionfactorybuilder builder = new sqlsessionfactorybuilder(); sqlsessionfactory factory = builder.build(resource);
使用==工厂模式==创建sqlsession对象
sqlsession sqlsession = factory.opensession();
使用==代理模式==创建了mapper(dao)接口的实现类
java itemsmapper mapper = sqlsession.getmapper(itemsmapper.class);
总结:这篇文章的出发点是浅显易懂的理解mybatis入门案例中的设计模式和使用路径时应该注意的问题,虽然后续学习spring的时候,这些内容也会被隐藏,但目的是为了理解mybatis设计的独具匠心,关于设计模式的深层次理解,还需要我们多读一写其他的相关文章,多推敲设计模式的代码!
如对本文有疑问, 点击进行留言回复!!
springmvc之ResponseBody响应json数据遇到的错误及解决
uni-app 后台升级 静默升级 uniapp 后台更新 静默更新 在线升级
SpringBoot多Module启动报错Could not transfer metadata
Hibernate项目报错:Cannot call sendError() after the response has been committed
网友评论