上一篇博文中我成功配置好了Mybatis的环境,那么接下来就是开始使用Mybatis来操纵数据库,我的需求是操作数据库中的user表,操作的内容包括增、删、改、查。
第一步:根据user表创建po类User.java,文件的内容如下
package test;
public class User {
private int id;
private string name;
private string password;
public int getId() {
return this.id;
}
public void setId(int _id) {
this.id = _id;
}
public string getName() {
return this.name;
}
public void setName(string _name) {
this.name = _name;
}
public string getPassword() {
return password;
}
public void setPassword(string _password) {
this.password = _password;
}
}
注意:po类中的属性名称需要和数据表中字段的名称完全相同。
第二步:创建mapper映射文件UserMapper.xml,其中部分内容如下:
<select id="selectById" parameterType="int" returnType="test.User">
select * from user where id=#{id}
</select>
这里的id将和下面要写的mapper接口中定义的方法的名称相同,parameterType叫做输入参数类型,returenType叫做输出结果类型,#{}是占位符,#{id}中的id就是输入参数,这个select节点会被mybatis封装为一个statement对象。
第三步:创建mapper接口文件UserMapper.java,部分代码如下:
public User selectById(int id);
这里的id就是要传递到上面映射文件中#{id}中的对象。
第四步:在mybatis-config.xml中的mappers节点下配置映射文件,配置映射文件方式我在上一篇博文中有讲过,有不清楚的话可以查看上一篇博文。
第五步:开始测试
创建一个测试类,然后定义个测试方法,方法的内容如下:
InputStream inputStream = Resources.getResourceAsStream("config/mybatis/mybatis-config.xml");//mybatis配置文件的相对路径
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //通过SqlSessionFactoryBuilder得到会话工厂对象
SqlSession sqlSession = sqlSessionFactory.openSession();//通过会话工厂对象得到会话对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);//获取mapper接口对象这里的mapper对象是mybatis根据mapper映射文件来创建的
User user = userMapper.selectById(1);//查询id为1的用户
sqlSeesion.close();//关闭会话
删、改、增的方式和查是相似的都可以通过定义<update>、<delete>、<insert>节点来完成,定义的方式和<select>相似。