使用spring完成传统的dao层加biz(service层)
新建org.test.spring.service和org.test.spring.service.impl包
新建接口PeopleService,代码如下:
新建接口实现
在PeopleMapper.xml文件中添加
在Main类中添加代码:
如此,变相使用了sqlSession来完成了service层,当然以上所述直接跳过了dao层.
至于sql语句配置在外面还是注解在接口上,根据情况自行使用
新建org.test.spring.service和org.test.spring.service.impl包
新建接口PeopleService,代码如下:
package org.test.spring.service;
import org.test.mybatis.model.People;
public interface PeopleService {
People selectOneById(int id);
}
新建接口实现
package org.test.spring.service.impl;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.test.mybatis.model.People;
import org.test.spring.service.PeopleService;
public class PeopleServiceImpl extends SqlSessionDaoSupport implements PeopleService {
@Override
public People selectOneById(int id) {
return (People) getSqlSession().selectOne("selectById",id);
}
}
在PeopleMapper.xml文件中添加
<select id="selectById" parameterType="int" resultType="org.test.mybatis.model.People">
select * from people where id=#{id}
</select>
Spring.configuration.xml文件中注册组件
<bean id="peopleService" class="org.test.spring.service.impl.PeopleServiceImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
在Main类中添加代码:
PeopleService pse=(PeopleService)ac.getBean("peopleService");
People people= pse.selectOneById(5);
System.out.println(people.getRealName());
如此,变相使用了sqlSession来完成了service层,当然以上所述直接跳过了dao层.
至于sql语句配置在外面还是注解在接口上,根据情况自行使用