发表于: 2017-04-12 16:45:35
2 1398
前两天因为生病基本都在医院待着。。
今天复习了mybatis替换DAO的步骤:
1.创建configuration.xml文件,里面包含数据库的驱动,url,账号密码等,同时创建User.xml文件,里面包含增删查改的SQL语句;
2.创建类GetSession,里面读取了config文件,并创建SqlSessionFactory对象:
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sqlSessionFactory.openSession();
3.最后在Test类中,进行具体的测试操作。
上次实现了mybatis的环境搭建以及简单的查询,是以sqlsession实例的方式来直接执行已映射的SQL语句:
session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1)一、
今天试用接口的方式来编程:
建立接口类 IUserOperation:
注意,这里面有一个方法名 selectUserByID 必须与 User.xml 里面配置的 select 的id 对应(<select id="selectUserByID")
改写类Test中的方法:
采用接口方式需要注意的地方:在User.xml 的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空间非常重要,不能有错,必须与定义的package 和 接口一致。
运行程序,得到结果
二、
在此基础上,进行增删查改操作。
由于之前已经做过简单的查询,现在做的是查询列表。查询出列表,也就是返回list, 在这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的
在User.xml中修改查询语句:
在接口中新增方法:public List<User> selectUsers(String userName);
最后在测试类Test中测试:
写方法public void getUserList的时候报错:
“void is an invalid type for the variable xxx”修正:函数不能嵌套。。
运行得到结果:
明天计划:
继续做完mybatis 的更新,删除操作,并尝试做数据库的关联数据查询,补回数据库的相关知识。
评论