您的当前位置:首页正文

mybatis实战教程(mybatis

2023-01-03 来源:我们爱旅游
mybatis实战教程(mybatis in action)之三:实现数据的增删改查

(2012-12-14 10:24:00)

转载▼ 标签: 之三 用户 园区 第二 教程

分类: SpringMVC 前面已经讲到用接口的方式编程。这种方式,要注意的一个地方就是。在User.xml 的配置文件中,mapper namespace=\"com.yihaomen.mybatis.inter.IUserOperation\" ,命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致。如果不一致就会出错,这一章主要在上一讲基于接口编程的基础上完成如下事情: 1. 用 mybatis 查询数据,包括列表 2. 用 mybatis 增加数据 3. 用 mybatis 更新数据. 4. 用 mybatis 删除数据. 查询数据,前面已经讲过简单的,主要看查询出列表的 查询出列表,也就是返回list, 在我们这个例子中也就是 List , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 程序代码

查询列表的语句在 User.xml 中 程序代码

在 IUserOperation 接口中增加方法:public List selectUsers(String userName); 现在在 Test 类中做测试 程序代码 public void getUserList(String userName){ SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); List users = userOperation.selectUsers(userName); for(User user:users){ System.out.println(user.getId()+\":\"+user.getUserName()+\":\"+user.getUserAddress()); } } finally { session.close(); } }

现在在main 方法中可以测试: 程序代码 public static void main(String[] args) { Test testUser=new Test(); testUser.getUserList(\"%\"); }

可以看到,结果成功查询出来。如果是查询单个数据的话,用第二讲用过的方法就可以了。

用mybatis 增加数据

在 IUserOperation 接口中增加方法:public void addUser(User user); 在 User.xml 中配置

程序代码 insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress})

然后在 Test 中写测试方法: 程序代码 public void addUser(){ User user=new User(); user.setUserAddress(\"人民广场\"); user.setUserName(\"飞鸟\"); user.setUserAge(80); SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); userOperation.addUser(user); session.commit(); System.out.println(\"当前增加的用户 id为:\"+user.getId()); } finally { session.close(); } }

用mybatis 更新数据

方法类似,先在 IUserOperation 中增加方法:public void addUser(User user); 然后配置 User.xml

程序代码 update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id}

Test 类总的测试方法如下: 程序代码 public void updateUser(){ //先得到用户,然后修改,提交。 SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); User user = userOperation.selectUserByID(4); user.setUserAddress(\"原来是魔都的浦东创新园区\"); userOperation.updateUser(user); session.commit(); } finally { session.close(); } }

用mybatis 删除数据

同理,IUserOperation 增加方法:public void deleteUser(int id); 配置User.xml 程序代码 delete from user where id=#{id}

然后在Test类中写测试方法: 程序代码 public void deleteUser(int id){ SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); userOperation.deleteUser(id); session.commit(); } finally { session.close(); } }

这样,所有增删改查都完成了,注意在增加,更改,删除的时候要调用session.commit(),这样才会真正对数据库进行操作,否则是没有提交的。

因篇幅问题不能全部显示,请点此查看更多更全内容