这个与我之前写的spring整合ibatis用配置文件一样,spring的配置文件与之前的一样,主要不一样的就是ibatis的配置文件
直接在dao接口的接口方法前面加上相应的注释就可以用了
实例代码:
@Insert("insert into user(username,password,sex) values(#{username},#{password},#{sex})")
public void insertUser(User user); //查入一个用户
public User selectUser(String username);//按username查找User
public void deleteUser(String id);//删除user
public List<User> selectUsers();//查询所有的user
//@Select("update user set username=#{username},password=#{password},sex=#{sex} where id=#{id}")
@Update("update user set username=#{username},password=#{password},sex=#{sex} where id=#{id}")
public void updateUser(User u);//修改user属性
我只试验了@Insert @Update @Select,delete就没有写了,原理是一样的,用spring直接初始化一个dao的实例,然后在调用相应的方法,不需要dao的实现类,
但是我写的时候发现了一个问题,就是在实现update的时候用@update和用@select都可以实现更新,但是在用insert的时候就不行,还有就是update更新的时候,默认不会有返回值,,要是有人知道的,可以留言说明一下
测试代码:
ApplicationContext aContext=new ClassPathXmlApplicationContext("beans.xml");
UserMapper userMapper = aContext.getBean(UserMapper.class);
User u=new User();
u.setId(3);
u.setUsername("ccc");
u.setPassword("444");
u.setSex("M");
//userMapper.insertUser(u);
userMapper.updateUser(u);
// List<User> userList=userMapper.selectUsers();
// // userMapper.updateUser(u);
// for(int i=0;i<userList.size();i++){
// System.out.println(userList.get(i).getId());
// }
// System.out.println("添加成功");