发表于: 2018-03-28 20:28:31
2 620
今天完成的事情:
①mybatis-config.xml
@Configuration // @Configuration注解(该注解类似于spring的配置文件)
@MapperScan(basePackages = "com.aim.demo.dao")// @MapperScan注解,指定扫描的mapper接口所在的包
public class MybatisConfig implements EnvironmentAware {
private static final Logger logger = LoggerFactory.getLogger(MybatisConfig.class);
@Autowired
private Environment env;
@Override
public void setEnvironment(Environment environment) {
this.env = environment; }
/** * 创建数据源 * @Primary 该注解表示在同一个接口有多个实现类可以注入的时候,默认选择哪一个,而不是让@autowire注解报错 */
@Bean @Primary
public DataSource getDataSource() throws Exception{
Properties props = new Properties();
props.put("driverClassName", env.getProperty("spring.datasource.driver-class-name"));
props.put("url", env.getProperty("spring.datasource.url"));
props.put("username", env.getProperty("spring.datasource.username"));
props.put("password", env.getProperty("spring.datasource.password"));
return DruidDataSourceFactory.createDataSource(props); }
/** * 根据数据源创建SqlSessionFactory */ @Bean
public SqlSessionFactory sqlSessionFactory(DataSource ds) throws Exception{
SqlSessionFactoryBean fb = new SqlSessionFactoryBean();
fb.setDataSource(ds);//指定数据源(这个必须有,否则报错)
//下边两句仅仅用于*.xml文件,如果整个持久层操作不需要使用到xml文件的话(只用注解就可以搞定),则不加 fb.setTypeAliasesPackage(env.getProperty("mybatis.typeAliasesPackage"));//指定基包 fb.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.mapperLocations")));//指定xml文件位置
return fb.getObject(); } }
spring环境配置。
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cn.lovepi</groupId>
- <artifactId>StudySpring</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>StudySpring</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>4.2.6.RELEASE</version>
- </dependency>
- </dependencies>
- </project>
明天计划的事情:
回头多看些基础知识,多打代码,理解任务要求。
遇到的问题:
很多问题不知道怎么解决,为什么要这么做?
在完成任务时不知道原理,只是按照教程一步一步实现的,对任务理解不够透彻。
在网上的资料看的也是一知半解,还有就是代码打的太少了。
收获:
DAO,data source object,即数据访问对象,后台程序通过dao与数据库交互;
JdbcTemplate,spring对数据库的操作在jdbc上面做了封装,使用spring的注入功能,可以把DataSource注册JdbcTemplate之中;
Spring,是一个企业级开源框架;
MyBatis,是一款持久层框架,大多数工作都在xml文件中,避免了多数jdbc代码和设置参数
评论