spring_mybatis 核心配置文件:
package com.entor.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.pagehelper.PageInterceptor;
import org.apache.ibatis.logging.stdout.StdOutImpl;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
@Configuration
@MapperScan(basePackages = "com.entor.mapper")
@ComponentScan(basePackages = "com.entor")
@PropertySource(value = "classpath:db.properties")
@EnableTransactionManagement
public class SpringMybatisConfig {
@Value("${entor.driver}")
private String driver;
@Value("${entor.url}")
private String url;
@Value("${entor.username}")
private String username;
@Value("${entor.password}")
private String password;
@Value("${entor.mapperLocations}")
private String mapperLocations;
@Value("${entor.typeAliasesPackage}")
private String typeAliasesPackage;
@Bean
public DataSource dataSource(){
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driver);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
@Bean
public TransactionManager transactionManager(DataSource dataSource){
return new DataSourceTransactionManager(dataSource);
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception{
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
bean.setMapperLocations(patternResolver.getResources(mapperLocations));
bean.setTypeAliasesPackage(typeAliasesPackage);
org.apache.ibatis.session.Configuration config = new org.apache.ibatis.session.Configuration();
config.setMapUnderscoreToCamelCase(true);
config.setLogImpl(StdOutImpl.class);
config.setCacheEnabled(true);
bean.setConfiguration(config);
bean.setPlugins(new PageInterceptor());
return bean.getObject();
}
}
增删改查测试代码
package com.entor.test;
import com.entor.config.SpringMybatisConfig;
import com.entor.entity.User;
import com.entor.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.ArrayList;
import java.util.Date;
public class Test {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(SpringMybatisConfig.class);
UserService userService = context.getBean(UserService.class);
ArrayList<User> list = new ArrayList<>();
for (int i=1;i<10;i++){
User user = new User();
user.setName("赵露思");
user.setUsername("zhaolusi");
user.setPassword("999999");
user.setSex(1);
user.setAge(20);
user.setBirthday(new Date());
list.add(user);
}
userService.addMore(list);
}
}