发表于: 2018-03-28 20:28:31

2 619


今天完成的事情: 

        ①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环境配置。

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   
  5.   <groupId>cn.lovepi</groupId>  
  6.   <artifactId>StudySpring</artifactId>  
  7.   <version>1.0-SNAPSHOT</version>  
  8.   <packaging>jar</packaging>  
  9.   
  10.   <name>StudySpring</name>  
  11.   <url>http://maven.apache.org</url>  
  12.   
  13.   <properties>  
  14.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  15.   </properties>  
  16.   
  17.   <dependencies>  
  18.     <dependency>  
  19.       <groupId>junit</groupId>  
  20.       <artifactId>junit</artifactId>  
  21.       <version>3.8.1</version>  
  22.       <scope>test</scope>  
  23.     </dependency>  
  24.   
  25.   
  26.       <dependency>  
  27.         <groupId>org.springframework</groupId>  
  28.         <artifactId>spring-context</artifactId>  
  29.         <version>4.2.6.RELEASE</version>  
  30.       </dependency>  
  31.   
  32.   </dependencies>  
  33. </project>  

明天计划的事情:

          回头多看些基础知识,多打代码,理解任务要求。


遇到的问题: 

        很多问题不知道怎么解决,为什么要这么做?

        在完成任务时不知道原理,只是按照教程一步一步实现的,对任务理解不够透彻。

        在网上的资料看的也是一知半解,还有就是代码打的太少了。


收获:

       DAO,data source object,即数据访问对象,后台程序通过dao与数据库交互;

       JdbcTemplate,spring对数据库的操作在jdbc上面做了封装,使用spring的注入功能,可以把DataSource注册JdbcTemplate之中;

       Spring,是一个企业级开源框架;

       MyBatis,是一款持久层框架,大多数工作都在xml文件中,避免了多数jdbc代码和设置参数

    




返回列表 返回列表
评论

    分享到