springBoot整合MyBatise及简单应用

我采用的是 工具IDEA 框架是springBoot+maven+Mybatise

第一步:

pom.xml 引入相关jar包

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6.  
  7. <groupId>cn.xudy.base</groupId>
  8. <artifactId>testMybase</artifactId>
  9. <version>1.0-SNAPSHOT</version>
  10.  
  11. <parent>
  12. <groupId>org.springframework.boot</groupId>
  13. <artifactId>spring-boot-starter-parent</artifactId>
  14. <version>1.5.4.RELEASE</version>
  15. <relativePath/>
  16. </parent>
  17.  
  18. <properties>
  19. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  20. <java.version>1.8</java.version>
  21. <mybatis-spring-boot.version>1.2.0</mybatis-spring-boot.version>
  22. <mysql-connector.version>5.1.39</mysql-connector.version>
  23. </properties>
  24.  
  25. <dependencies>
  26.  
  27. <!-- MYSQL -->
  28. <dependency>
  29. <groupId>com.mchange</groupId>
  30. <artifactId>c3p0</artifactId>
  31. <version>0.9.5.2</version>
  32. </dependency>
  33. <dependency>
  34. <groupId>mysql</groupId>
  35. <artifactId>mysql-connector-java</artifactId>
  36. </dependency>
  37. <!-- Spring Boot JDBC -->
  38. <dependency>
  39. <groupId>org.springframework.boot</groupId>
  40. <artifactId>spring-boot-starter-jdbc</artifactId>
  41. </dependency>
  42.  
  43. <dependency>
  44. <groupId>com.google.code.gson</groupId>
  45. <artifactId>gson</artifactId>
  46. <version>2.7</version>
  47. </dependency>
  48.  
  49. <dependency>
  50. <groupId>org.springframework.boot</groupId>
  51. <artifactId>spring-boot-starter-web</artifactId>
  52. </dependency>
  53. <!--Mybatis-->
  54. <dependency>
  55. <groupId>org.mybatis.spring.boot</groupId>
  56. <artifactId>mybatis-spring-boot-starter</artifactId>
  57. <version>${mybatis-spring-boot.version}</version>
  58. </dependency>
  59.  
  60. </dependencies>
  61.  
  62. <!--maven打包时应用-->
  63. <build>
  64. <plugins>
  65. <plugin>
  66. <groupId>org.springframework.boot</groupId>
  67. <artifactId>spring-boot-maven-plugin</artifactId>
  68. </plugin>
  69. </plugins>
  70. </build>
  71.  
  72. </project>

第二部:

建立两个配置文件类

1、  我采用了c3p0 JDBC 连接池这个文件主要是配置mybatis  的xml配置文件位置

  1. @Configuration
  2. //加上这个注解,使得支持事务
  3. @EnableTransactionManagement
  4. public class MyBatisConfig implements TransactionManagementConfigurer {
  5.  
  6. @Bean(name = "dataSource")
  7. @Qualifier(value = "dataSource")
  8. @Primary
  9. @ConfigurationProperties(prefix = "c3p0")
  10. public DataSource dataSource() {
  11. return DataSourceBuilder.create().type(com.mchange.v2.c3p0.ComboPooledDataSource.class).build();
  12. }
  13.  
  14. @Override
  15. public PlatformTransactionManager annotationDrivenTransactionManager() {
  16. return new DataSourceTransactionManager(dataSource());
  17. }
  18.  
  19. @Bean(name = "sqlSessionFactory")
  20. public SqlSessionFactory sqlSessionFactoryBean() {
  21. SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
  22. bean.setDataSource(dataSource());
  23. bean.setTypeAliasesPackage("cn.group.xudy.model");//每一张表对应的实体类
  24. //添加XML目录
  25. ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
  26. try {
  27. bean.setMapperLocations(resolver.getResources("classpath:mapper/*Mapper.xml"));//每张表对应的xml文件
  28. return bean.getObject();
  29. } catch (Exception e) {
  30. e.printStackTrace();
  31. throw new RuntimeException(e);
  32. }
  33. }
  34.  
  35. @Bean
  36. public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
  37. return new SqlSessionTemplate(sqlSessionFactory);
  38. }
  39.  
  40. /**
  41. * 跨域
  42. * @return
  43. */
  44. @Bean
  45. public WebMvcConfigurer corsConfigurer() {
  46. return new WebMvcConfigurerAdapter() {
  47. @Override
  48. public void addCorsMappings(CorsRegistry registry) {
  49. registry.addMapping("/**");
  50. }
  51. };
  52. }
  53.  
  54. }

2、配置mapper java文件

  1. /**
  2. * 扫描mybatis的接口
  3. *MyBatis扫描接口,使用的tk.mybatis.spring.mapper.MapperScannerConfigurer,如果你不使用通用Mapper,可以改为org.xxx...
  4. * @author zxj
  5. *
  6. */
  7. @Configuration
  8. // 因为这个对象的扫描,需要在MyBatisConfig的后面注入,所以加上下面的注解
  9. @AutoConfigureAfter(MyBatisConfig.class)
  10. public class MyBatisMapperScannerConfig {
  11.  
  12. @Bean
  13. public MapperScannerConfigurer mapperScannerConfigurer() {
  14. MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
  15. //获取之前注入的beanName为sqlSessionFactory的对象
  16. mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
  17. //每张表对应的XXMapper.java interface类型的Java文件
  18. mapperScannerConfigurer.setBasePackage("cn.group.xudy.mapper");
  19. // Properties properties = new Properties();
  20. // properties.setProperty("mappers", "tk.mybatis.springboot.util.MyMapper");
  21. // properties.setProperty("notEmpty", "false");
  22. // properties.setProperty("IDENTITY", "MYSQL");
  23. // mapperScannerConfigurer.setProperties(properties);
  24.  
  25. return mapperScannerConfigurer;
  26.  
  27. }
  28. }

注意 mybatis 的mapper.xml  在IDEA中一定要写到resources下面如图

第三步 :

1.sql以注解的形式访问数据库获取数据

在java下mapper文件下一个下一个简单的注解代码测试下 下面是三种模式

  1.  
  1. @Select("select * from claims;")
  2. List<Map<String,Object>> find();
  3.  
  4. @Select("Select * from claims where id = '${id}'")
  5. Map<String,Object> selectClaimsName(@Param("id") String id);
  6.  
  7. @Select("Select * from claims where id = #{id}")
  8. Map<String,Object> selectClaimsName(@Param("id") String id);

写一个调用类根据自己的数据库配置 应该没什么问题了

2、sql语句以xml形式也就是大家常用的mybatis的形式获取数据

在java下mapper中写调用方法

  1. List<ClaimsModel> getAll();

在resources下xml写到  我写的是一对多的形式 有点乱 ,这部分就不细说了,如果不懂可以看看相关Mybatis的使用这里只介绍集成

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="cn.group.xudy.mapper.claimsMapper">
  4.  
  5. <resultMap id="BaseResultMap" type="cn.group.xudy.model.ClaimsModel" >
  6. <id column="id" property="id" jdbcType="BIGINT" />
  7. <id column="reason" property="reason" jdbcType="VARCHAR" />
  8. <id column="files" property="files" jdbcType="VARCHAR" />
  9. <!-- ofType指定students集合中的对象类型 -->
  10. <!--<association property="claimFilesModelList" javaType="cn.group.xudy.model.ClaimFilesModel">-->
  11. <!--</association>-->
  12. <collection property="claimFilesModelList" ofType="cn.group.xudy.model.ClaimFilesModel" column="id" select="getStudent"></collection>
  13. <!--<collection property="claimFilesModelList" ofType="cn.group.xudy.model.ClaimFilesModel" column="id">-->
  14. <!--<id column="file_name" property="fileName" jdbcType="VARCHAR" />-->
  15. <!--</collection>-->
  16. </resultMap>
  17.  
  18. <sql id="Base_Column_List" >
  19. id,reason,files
  20. </sql>
  21.  
  22. <select id="getAll" resultMap="BaseResultMap">
  23. -- select * from claims c,claim_files f WHERE c.id=f.claim_id
  24. select * from claims c,claim_files
  25. </select>
  26.  
  27. <select id="getStudent" parameterType="int" resultType="cn.group.xudy.model.ClaimFilesModel">
  28. SELECT * FROM claim_files WHERE claim_id=#{id}
  29. </select>
  30.  
  31. </mapper>

OK  代码附上

https://gitee.com/xdymemory00/testMybase.git

springBoot整合MyBatise及简单应用的更多相关文章

  1. 从无到有Springboot整合Spring-data-jpa实现简单应用

    本文介绍Springboot整合Spring-data-jpa实现简单应用 Spring-data-jpa是什么?这不由得我们思考一番,其实通俗来说Spring-data-jpa默认使用hiberna ...

  2. Springboot整合ElasticSearch进行简单的测试及用Kibana进行查看

    一.前言 搜索引擎还是在电商项目.百度.还有技术博客中广泛应用,使用最多的还是ElasticSearch,Solr在大数据量下检索性能不如ElasticSearch.今天和大家一起搭建一下,小编是看完 ...

  3. springboot整合redis(简单整理)

    Redis安装与开启 我这里是在windows上练习,所以这里的安装是指在windows上的安装,操作非常简单,点击https://github.com/MicrosoftArchive/redis/ ...

  4. MongoDB系列:三、springboot整合mongoDB的简单demo

    在上篇 MongoDB常用操作练习 中,我们在命令提示符窗口使用简单的mongdb的方法操作数据库,实现增删改查及其他的功能.在本篇中,我们将mongodb与spring boot进行整合,也就是在j ...

  5. springboot整合dubbo的简单案例

    使用框架: jdk 1.8 springboot-2.1.3 dubbo-2.6 spring-data-jpa-2.1.5 一.开发dubbo服务接口: 按照Dubbo官方开发建议,创建一个接口项目 ...

  6. SpringBoot整合Redis实现简单的set、get

    一.导入pom.xml文件相关的依赖并配置 <dependency> <groupId>org.springframework.boot</groupId> < ...

  7. SpringBoot整合kafka的简单应用及配置说明

    引入依赖 <!-- https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka --> <de ...

  8. SpringBoot整合SpringSecurity简单实现登入登出从零搭建

    技术栈 : SpringBoot + SpringSecurity + jpa + freemark ,完整项目地址 : https://github.com/EalenXie/spring-secu ...

  9. SpringBoot学习之整合Druid的简单应用

    一.Druid介绍 Druid简介 Druid是目前Java语言中最好的数据库连接池之一.结合了 C3P0.DBCP 等 DB 池的优点,同时加入了日志监控.Druid 是一个分布式的.支持实时多维 ...

随机推荐

  1. set 续4

    ---------siwuxie095                 批处理简易计算器 @echo off ::设置窗口标题 title DOS 简易计算器 ::设置窗口大小 ::设置窗口颜色 co ...

  2. jdeveloper12.1.3的安装与卸载

    jdeveloper12.1.3的安装步骤:1>安装jdk7.0 2>在命令行中输入:cd C:\Program Files\Java\jdk1.7.0_60\bin 3>命令行安装 ...

  3. Photoshop中的高斯模糊、高反差保留和Halcon中的rft频域分析研究

    在Halcon的rft变换中,我们经常可以看到这样的算子组合: rft_generic (Image, ImageFFT2, 'to_freq', 'none', 'complex', Width) ...

  4. sqlserver select 查询字段if判断用法

    SELECT TOP 1000 [id],      case when group_id>1 then 'vip'           else '普通会员'           end  F ...

  5. intval()

    1.将字符串转换成整数 2.取数字的整数部分

  6. [SoapUI]怎样保存response到本地文件夹

    def myOutFile = "D:/AUS/Aspect Huntley feed URLs/Automation Save Responses/ahresearch.xml" ...

  7. asp.net core 1.1 mysqlsugarCore mysql.data 要 7.0.5.0

    Message=Could not load file or assembly 'MySql.Data, Version=7.0.5.0, Culture=neutral, PublicKeyToke ...

  8. calico网络

    内容请参考:http://www.cnblogs.com/CloudMan6/p/7509975.html

  9. 用WORD2007发布博客文章

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  10. Jmeter Cookie管理器 获取JSESSIONID

    1.打开jmeter.抓包添加Web请求后,添加Cookie管理器.直接添加就行.值要不要都一样 添加值:${COOKIE_JSESSIONID 域:${server} 2.点击载入到当前脚本 3.到 ...