1.spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<!-- 配置数据源 -->
<!--配置连接池-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/smbms"/>
<property name="user" value="root"/>
<property name="password" value="123456"/>
</bean>
<!--配置SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 加载数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 加载MyBatis的配置文件 -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!--加载Mybatis的映射文件 -->
<property name="mapperLocations">
<!-- 通配符加载 -->
<value>classpath:com/leisong/**/*.xml</value>
</property>
</bean>
<!-- 配置sqlSessionTemplate -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
</bean>
<bean id="billMapper" class="com.leisong.dao.BillMapperImpl">
<property name="sqlSessionTemplate" ref="sqlSessionTemplate"></property>
</bean>
<!-- <bean id="billService" class="com.leisong.service.impl.BillServiceImpl">-->
<!-- <property name="billMapper" ref="billMapper"></property>-->
<!-- </bean>-->
<bean id="providerMapper" class="com.leisong.dao.ProviderMapperImpl">
<property name="sqlSessionTemplate" ref="sqlSessionTemplate"></property>
</bean>
<!-- <bean id="providerService" class="com.leisong.service.impl.ProviderServiceImpl">-->
<!-- <property name="providerMapper" ref="providerMapper"></property>-->
<!-- </bean>-->
<!--配置让其自动扫码指定的包下的注解 -->
<context:component-scan base-package="com.leisong.service.impl"></context:component-scan>
</beans>
2.mybatis配置文件
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 给类起别名 -->
<typeAliases>
<package name="com.leisong.domain" />
</typeAliases>
</configuration>
在这里插入代码片
3.数据访问层接口
public interface BillMapper {
//根据商品名称,供应商id,是否付款 进行查询
public List<Bill> getBillByProName(Bill bill);
}
public interface ProviderMapper {
public List<Provider> getProviderAll();
}
4.数据访问层实现类,通过SqlSessionTemplate实现数据访问
public class BillMapperImpl implements BillMapper{
private SqlSessionTemplate sqlSessionTemplate;
public SqlSessionTemplate getSqlSessionTemplate() {
return sqlSessionTemplate;
}
public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
this.sqlSessionTemplate = sqlSessionTemplate;
}
@Override
public List<Bill> getBillByProName(Bill bill) {
return sqlSessionTemplate.getMapper(BillMapper.class).getBillByProName(bill);
}
}
public class ProviderMapperImpl implements ProviderMapper{
private SqlSessionTemplate sqlSessionTemplate;
public SqlSessionTemplate getSqlSessionTemplate() {
return sqlSessionTemplate;
}
public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
this.sqlSessionTemplate = sqlSessionTemplate;
}
@Override
public List<Provider> getProviderAll() {
return sqlSessionTemplate.getMapper(ProviderMapper.class).getProviderAll();
}
}
5.业务逻辑层接口
public interface BillService {
public List<Bill> getBillByProName(Bill bill);
}
public interface ProviderService {
public List<Provider> getProviderAll();
}
6.业务逻辑层实现类,通过注解注入数据访问层
@Service("billService")
public class BillServiceImpl implements BillService {
@Autowired
private BillMapper billMapper;
public BillMapper getBillMapper() {
return billMapper;
}
public void setBillMapper(BillMapper billMapper) {
this.billMapper = billMapper;
}
@Override
public List<Bill> getBillByProName(Bill bill) {
return billMapper.getBillByProName(bill);
}
}
@Service("providerService")
public class ProviderServiceImpl implements ProviderService {
@Autowired
private ProviderMapper providerMapper;
public ProviderMapper getProviderMapper() {
return providerMapper;
}
public void setProviderMapper(ProviderMapper providerMapper) {
this.providerMapper = providerMapper;
}
@Override
public List<Provider> getProviderAll() {
return providerMapper.getProviderAll();
}
}
7.测试
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
BillService billService = (BillService)context.getBean("billService");
Bill bill = new Bill();
bill.setProductName("北");
bill.setIsPayment(2);
List<Bill> list = billService.getBillByProName(bill);
for (Bill bill1:list) {
System.out.println(bill1.toString());
}
}
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ProviderService service = (ProviderService)context.getBean("providerService");
List<Provider> list = service.getProviderAll();
for (Provider provider:list) {
System.out.println(provider.toString());
}
}