我的所有博文主要在我的另一个博客地址发布,欢迎您的到来
如果对技术热爱者非常欢迎, 让我们一起探讨,共勉, 点击↓博客地址进入
博客地址
Spring 和 MyBatis 的整合(IDEA)
一. 整合流程
1、IDEA搭建webapp的maven项目,拷贝pom.xml文件,修改项目名。
在main目录中,创建java和resources
2、配置文件的修改(db.properties)
3、创建config目录,导入MyBatis和spring的配置类,创建package包
4、定义Pojo类
User类:
@Table(name=“user”)
public class User implements Serializable{
@Id
private String uid;
private String username;
private String password; //get set 有参 无参 toString
}
5、定义Dao接口,继承通用Mapper,设置Mapper映射 & 注册Dao
6、定义Service
UserServiceImpl类:
/**
** Transactional注解:标记当前service的事务由spring管理*
** 未出异常,spring提交事务*
** 出了异常,spring回滚事务*
*/
@Service
@Transactionalpublic class UserServiceImpl implements UserService {
@Resource
private UserDao userDao;
}
7、定义Test
UserTest类:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfiguration.class, MyBatisConfiguration.class})
public class UserTest {
@Resource
private UserService userService; @Test
public void run1(){
System.out.println(userService);
}
}
二. 使用操练:
案例1:分页查询
测试类:
/**
** 分页查询*
*/
@Testpublic void run3(){
PageInfo pi = userService.selectUlistForPage(1);
for (User user : pi.getList()) {
System.err.println(user);
}
}
Service层:
/**
** 分页查询*
*** @param i
*** @return
*/
@Override
public PageInfo selectUlistForPage(int i) {
//1、使用分页助手,开启分页
PageHelper.startPage(i,2);
//2、进行查询
List ulist = userDao.selectAll();
//3、封装数据并返回
return new PageInfo(ulist);
}
案例2:条件查询
测试类:
/**
** 条件查询*
*/
@Testpublic void run4(){
List ulist = userService.selectUlistByParam(“123”);
for (User user : ulist) {
System.out.println(user);
}
}
Service:
/**
** 条件查询*
*** @param s
*** @return
/
@Override
public List selectUlistByParam(String s) {
//1、拼接条件
Example example = new Example(User.class);
Example.Criteria c = example.createCriteria();
c.andLike(“password”,"%"+s+"%"*);
//2、作查询
List ulist = userDao.selectByExample(example);
//3、返回结果
return ulist;
}
小结:
和spring整合后的MyBatis。MyBatis以下操作都交给spring管理
- 获取Dao
- 关闭会话
- 事务的提交和回滚(事务的控制)
看完恭喜你,又知道了一点点!!!
你知道的越多,不知道的越多!
~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!