1.创建maven工程(ecplise配置集成maven插件)
手动创建maven时,默认环境是jdk1.5的,要与自己的配置开发环境一致,要更改依赖环境
也可用start.spring.io网站提供的工具自动创建,可同时添加依赖包,选用版本等等,
创建好以后下载到本地导入即可,环境就是1.8的,与本地不一致时,要手动更改并update
2.添加配置pom.xml文件的依赖包
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<!--
在pom文件中增加spring-boot-starter-web的maven依赖时,
不做任何web相关的配置便能提供web服务,这还得归于spring boot
自动配置的功能(因为加了EnableAutoConfiguration的注解),
帮我们创建了一堆默认的配置:servlet配置, filter配置,
listener配置,修改filter的映射
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--
spring boot整合mybatis
使用了该Starter之后,只需要定义一个DataSource即可,
它会自动创建使用该DataSource的SqlSessionFactoryBean
以及SqlSessionTemplate。会自动扫描你的Mappers,连接到
SqlSessionTemplate,并注册到Spring上下文中
-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!-- 使用oracle数据库驱动 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>10.2.0.4.0</version>
</dependency>
<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
<!--
进行数据解析Fastjson会自动处理对象中的泛型,
将其解析成原来定义好的对象,
-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.41</version>
</dependency>
<!-- 进行测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!--
添加mavenc插件
在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以
直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。这在很大程度
上简化了应用的部署,只需要安装了 JRE 就可以运行
-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</dependencies>
3.添加配置文件application.yml/application.properties
spring:
datasource:
# name: test #可以省略
url: jdbc:oracle:thin:@127.0.0.1:1521:ORCL
username: ZY167
password: ZY167
#使用druid数据源
# type: com.alibaba.druid.pool.DruidDataSource #数据源类型不添加也可以
driver-class-name: oracle.jdbc.driver.OracleDriver
# profiles:
4.特别注意:自己创建的包要与springboot入口文件同级,否则会一直报错;
5.写入口文件:
@SpringBootApplication
//启用Spring应用程序上下文的自动配置,尝试猜测和配置您可能需要的bean。
//自动配置类通常基于类路径和定义的bean应用。例如,如果你有tomcat嵌入式。
//jar在您的类路径中,你可能会想要一个TomcatEmbeddedServletContainerFactory
//(除非你定义自己的EmbeddedServletContainerFactory bean)。
//@EnableAutoConfiguration
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
6.写mybatisConfig.java配置文件
@Configuration
//sqlSessionFactoryRef-------指定在spring上下文中有多个SqlSessionFactory使用的情况。
//通常,只有当您拥有多个数据源时才需要这样做。**要与SqlSessionFactory的@Bean的name一致
//basePackages----------用于扫描MyBatis接口的基本包。注意,只有具有至少一个方法的接口将被注册;具体的类将被忽略。
@MapperScan(basePackages="testData.dao",sqlSessionFactoryRef = "sessionFactory") //要添加包扫描主解,否则无法正确启动,可配置到访问入口
public class MybatisConfig {
@Autowired
//Environment
//接口,表示当前应用程序正在运行的环境。应用程序环境的两个关键方面:
//概要文件和属性。与属性访问相关的方法通过PropertyResolver超接口公开。
private Environment env;
/**
* @Title: defaultDataSource
* @Description: 创建数据源
* @return DataSource
*/
@Primary
//@Primary
//表示当多个候选对象具备自动连接单值依赖项的条件时,应该优先考虑bean。
//如果候选对象中只有一个“主”bean,那么它将是自动连接的值。
@Bean(name="dataSource")
public DataSource dataSource() {
//使用DruidDataSource数据源
DruidDataSource dataSources = new DruidDataSource();
//获取驱动
dataSources.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
//获取访问路径
dataSources.setUrl(env.getProperty("spring.datasource.url"));
//获取用户名
dataSources.setUsername(env.getProperty("spring.datasource.username"));
//获取用户密码
dataSources.setPassword(env.getProperty("spring.datasource.password"));
return dataSources;
}
/**
* @Title: sessionFactory
* @Description: 获取session工厂
* @param: @param dataSource 数据源
* @param: @return
* @return: SqlSessionFactory
* @throws
*/
@Primary
@Bean(name="sessionFactory")
public SqlSessionFactory sessionFactory(@Qualifier("dataSource")DataSource dataSource){
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
//添加XML目录
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
//resolver.getResources------将给定的位置模式解析为资源对象。
//设置将在运行时合并到SqlSessionFactory配置中的MyBatis映射文件的位置。
//sessionFactoryBean.setMapperLocations
//这是在MyBatis配置文件中指定“< sqlmapper >”条目的替代方法。这个基于
//Spring资源抽象的属性还允许在这里指定资源模式:例如:“classpath *:sqlmap / * -mapper.xml”。
sessionFactoryBean.setMapperLocations(resolver.getResources("classpath:testData.dao.*.xml"));
//返回一个实例对象的(可能共享或独立)由这个工厂管理。
return sessionFactoryBean.getObject();
} catch (Exception e) {
System.out.println("mybatis初始化sqlSessionFactoryBean失败");
e.printStackTrace();
}
return null;
}
/**
* ---------该方法可省略-------------
* @Title: sqlSessionTemplate
* @Description: TODO(创建实例工厂)
* @param: @param sqlSessionFactory
* @param: @return
* @return: SqlSessionTemplate
* @throws
*/
@Primary
@Bean("defaultSqlSessionTemplate")
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
//构造一个Spring管理的SqlSession,并将SqlSessionFactory作为参数提供。
return new SqlSessionTemplate(sqlSessionFactory);
}
}
7.写mybatis的数据库操作语句的mapper文件和service层文件,此处代码省略;
8.写controller文件:
@RestController
public class TestController {
@Autowired
private AllService allService;
@Autowired
private RiskTypeService riskTypeService;
@RequestMapping(value="/test",method = RequestMethod.GET)
public String getTest() {
List<RiskViewCfg> list = allService.getAll();
System.out.println("list集合的长度为:-----|||----------"+list.size());
for (int i = 0; i < list.size(); i++) {
RiskViewCfg riskViewCfg = new RiskViewCfg();
System.out.println(riskViewCfg.getView_name()+"========"+riskViewCfg.getCreate_sql());
}
return "hello----------word";
}
9.启动springboot的入口文件,访问默认的8080端口,会有返回值,则表示成功!