`

spring boot进行mybatis和JPA的整合

 
阅读更多
初识spring boot
Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序。

1.启动类  需要把该类放到根包下面 因为都是从这个包开始往下开始扫描


@SpringBootApplication
// 扫描JPA实体类
@EnableJpaRepositories(basePackages = "com.lanwx.entity")
@ServletComponentScan
// 存放mapper的目录
@MapperScan("com.lanwx.mapper") 
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}


2.在resources目录下面添加数据库等信息
#数据库设置  
spring.jpa.database=oracle
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource  
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@xx:xx
spring.datasource.username=xx
spring.datasource.password=xx


3.mybatis配置类
@Configuration  
@ConditionalOnClass({ EnableTransactionManagement.class, EntityManager.class })
@MapperScan(basePackages={"com.xxx.mapper"})
public class MyBatisConfig implements EnvironmentAware{  
  
	private RelaxedPropertyResolver propertyResolver;
      
    @Override
	public void setEnvironment(Environment env) {
    	 this.propertyResolver = new RelaxedPropertyResolver(env, "spring.datasource.");  
	}
    
    @Bean(name="dataSource", destroyMethod = "close", initMethod="init")  
    @Primary
    public DataSource dataSource() {
        DruidDataSource datasource = new DruidDataSource();  
        datasource.setUrl(propertyResolver.getProperty("url"));
        datasource.setDriverClassName(propertyResolver.getProperty("driverClassName"));  
        datasource.setUsername(propertyResolver.getProperty("username"));
        datasource.setPassword(propertyResolver.getProperty("password"));
        datasource.setValidationQuery("select count(1) from dual");
        return datasource;  
    }
    
	@Bean(name="sqlSessionFactory")
    @ConditionalOnMissingBean  
    public SqlSessionFactory sqlSessionFactory() {  
        try {
            SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();  
            sessionFactory.setDataSource(dataSource());
            sessionFactory.setTypeAliasesPackage("com.xxx.entity"); 
            //添加XML目录
            ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
            sessionFactory.setMapperLocations(resolver.getResources("classpath:com/xxx/**/mapper/*.xml"));  
            return sessionFactory.getObject();  
        } catch (Exception e) {  
            return null;  
        }  
    }
	
	@Bean
    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
      
//    @Bean  
//    public RoundRobinRWRoutingDataSourceProxy roundRobinDataSouceProxy(){  
//        RoundRobinRWRoutingDataSourceProxy proxy = new RoundRobinRWRoutingDataSourceProxy();  
//        proxy.setWriteDataSource(writeDataSource);  
//        proxy.setReadDataSoures(readDataSources);  
//        proxy.setReadKey("READ");  
//        proxy.setWriteKey("WRITE");  
//          
//        return proxy;  
//    }  
      
    @Bean  
    @ConditionalOnMissingBean  
    public DataSourceTransactionManager transactionManager() {
        return new DataSourceTransactionManager(dataSource());  
    }
    
}  



4.添加mapper类 
// 需要加Mapper注解
@Mapper
public interface xxxxxMapper{
    @Select("select count(1) from xx  ")  
    int xxxxxxx();
    
    @Select("select * from xx where bui_id=#{xxxx}")  
    xxx xxxxxxxx(@Param("xxx") String xxx);
    
}


5.JPA实体类
// 注意引入包要正确
@Entity
@Table(name="xxx")
public class xxx implements Serializable{
	
	private static final long serialVersionUID = 2425973233219442129L;
	
	@Id
	private String id ;
	
	private String name;
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}
	@Column(name = "NAME")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}



6.JPA资源类
// 资源类只需要接口就能直接使用 
@Repository
@Table(name = "xxx")
@Qualifier("xxxxx")
public interface xxx extends JpaRepository<xxxx, String>{
	
	public xxxx findOne(String id);
	
	@SuppressWarnings("all")
	public xxx save(Lanwx01 u);
	
	@Query("select t from xxx t where t.id=:id")
	public xx findUserByName(@Param("id") String id);

}



7.Controller类

@RestController
@EnableAutoConfiguration
public class TestController {
	
    private static final Logger logger = LoggerFactory.getLogger(TestController.class);

    @Resource
    private MyService myService ;
    @Resource  
    private xxxMapper xxxx;  
    @Resource  
    private xxxRepository xxxRepository;

    
    @RequestMapping("/xxx")
    public xxxx findzCC(@RequestParam String buiId){
    	System.out.println(xxxx.xxxx(buiId));
        return xxx.findLanwx(buiId);
    }  
     
}







分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    spring boot-mybatis demo

    在"spring boot-mybatis demo"项目中,我们将看到如何将 MyBatis 整合到 Spring Boot 应用中,实现数据访问和操作。以下是主要涉及的知识点: 1. **Spring Boot 配置**:首先,你需要在 `pom.xml` 文件中添加 ...

    Java课程实验 Spring Boot 分别整合 MyBatis、JPA

    在Spring Boot中,可以通过整合MyBatis和JPA来与数据库进行交互。以下是分别整合MyBatis和JPA的步骤: 整合MyBatis: 1. 添加依赖: 在项目的 pom.xml 文件中添加MyBatis和MySQL依赖 2.配置数据源: 在 application....

    springboot同时整合JPA和mybatis的demo

    本示例"springboot同时整合JPA和mybatis的demo"旨在演示如何在一个项目中同时使用Spring Boot与两种ORM(对象关系映射)框架:JPA(Java Persistence API)和MyBatis。这为我们提供了更大的灵活性,可以根据不同的...

    Spring Boot + MyBatis + MySQL 整合

    以上就是Spring Boot、MyBatis和MySQL的整合步骤,这个组合使得开发人员可以快速地搭建一个具备数据库操作功能的Web应用。通过这种方式,开发者可以专注于业务逻辑,而不是繁琐的配置和数据库操作,提高了开发效率。...

    spring boot 和mybatis的整合

    1. **添加依赖**:在`pom.xml`或`build.gradle`文件中添加Spring Boot和MyBatis的相关依赖,包括Spring Boot的starter-data-jpa、starter-web以及MyBatis的依赖。 2. **配置数据源**:在`application.properties`或...

    Spring Boot集成MyBatis的基础项目

    1. **添加依赖**:在`pom.xml`文件中,需要添加Spring Boot的starter-web和starter-data-jpa依赖,以及MyBatis的Spring Boot Starter依赖。这些依赖会自动配置所需的类和库,包括MyBatis的核心库、SqlSessionFactory...

    spring boot+mybatis+layui实现的项目基本框架

    本文将详细介绍如何利用Spring Boot、MyBatis和Layui实现一个包含用户管理和商品管理功能的项目。 1. **Spring Boot简介与配置** Spring Boot简化了Spring的应用初始设置,通过自动配置、起步依赖等特性,让开发者...

    spring boot + mybatis + mysql整合项目

    Spring Boot、MyBatis 和 MySQL 是目前非常流行的Java Web开发技术栈,它们的结合使得构建高效、简洁的应用程序成为可能。下面将详细讲解这个整合项目的各个组成部分及其工作原理。 **Spring Boot** Spring Boot是...

    spring boot+spring mvc+mybatis+thymeleaf整合开发学生成绩信息管理系统

    项目描述 学生成绩管理系统,有三...spring boot+spring mvc+mybatis+layui+jquery+thymeleaf http://localhost:8080/Sys/loginView 管理员账号 admin admin 老师登录 2020031920 111111 学生账号登录 20200319 111111

    springboot整合mybatis整合jpa使用entityManger

    在本文中,我们将深入探讨如何在Spring Boot项目中整合MyBatis、JPA,并使用EntityManager进行数据访问。同时,我们还将介绍如何集成Redis缓存服务,以及如何对接微信支付和支付宝支付接口,以实现全面的支付功能。 ...

    spring boot+mybatis整合

    在IT行业中,Spring Boot和MyBatis是两个非常流行的开源框架,它们分别简化了Java应用的开发和数据库操作。Spring Boot以其"约定优于配置"的理念,使得创建和配置项目变得更为简便,而MyBatis则是一个轻量级的持久层...

    spring boot 整合mybatis

    - **添加依赖**:在Spring Boot项目的pom.xml中,我们需要引入Spring Boot的starter-web和starter-data-jpa依赖,以及MyBatis和其Spring Boot的 starter依赖。 - **配置MyBatis**:在application.properties或...

    Spring Boot整合MyBatis 示例代码

    下面我们将详细探讨Spring Boot如何与MyBatis进行整合,并通过具体的示例代码来理解这个过程。 首先,我们需要在项目的`pom.xml`或`build.gradle`文件中引入相关的依赖。对于Spring Boot项目,我们需要添加Spring ...

    SpringBoot+Mybatis整合完整源码

    - **添加依赖**:首先,在 Maven 项目的 `pom.xml` 文件中,添加 Spring Boot 和 Mybatis 的相关依赖,包括 Spring Boot Starter Web、Spring Boot Starter Data JPA(或者 Mybatis Starter)以及 Mybatis 和其所需...

    spring boot - mybatis

    在本项目中,我们主要探讨的是如何将Spring Boot与MyBatis进行集成,以便构建一个高效、简洁的Java Web应用程序。Spring Boot简化了Spring应用程序的初始设置和配置,而MyBatis则是一个轻量级的持久层框架,它将SQL...

    spring boot整合mybatis

    整合 Spring Boot 和 MyBatis 的优点包括简化配置、自动管理依赖、方便的 RESTful API 设计以及 MyBatis 的强大 SQL 功能。这样的组合为开发人员提供了高效、灵活的后端服务构建能力。通过以上步骤,你可以轻松地在 ...

    spring-boot-mybatis-mysql.zip

    本文将深入探讨如何在Spring Boot项目中整合MyBatis和MySQL,以实现高效的数据操作。 1. **Spring Boot简介** Spring Boot简化了Spring应用的初始搭建以及开发过程。它默认配置了很多功能,如嵌入式Tomcat服务器、...

    spring boot和mybatis整合

    Spring Boot和MyBatis的整合是现代Java Web开发中常见的一种技术组合,它结合了Spring Boot的便捷性和MyBatis的灵活性,使得数据库操作变得更加简单。以下是对这个整合实例的详细解析: 首先,Spring Boot是Spring...

    Spring Boot整合Mybatis环境搭建示例

    - 深入了解Spring Boot与Mybatis的整合机制,可以阅读Spring Boot的源码,尤其是`spring-boot-starter-data-jpa`模块,以及Mybatis的相关源码。 9. **工具使用**: - Maven用于管理项目依赖,确保所有库都正确...

    spring_boot+mybatis开发框架

    通过以上知识点的介绍,我们可以看到 Spring Boot 和 MyBatis 的集成使得开发更加便捷,减少了大量繁琐的配置工作,提高了开发效率。在实际项目中,结合这些功能模块,可以快速构建出稳定、功能丰富的后端服务。

Global site tag (gtag.js) - Google Analytics