zoukankan      html  css  js  c++  java
  • springboot整合mybatis

    配置文件:

    #数据库
    spring.datasource.name=what_ever
    spring.datasource.url=jdbc:mysql://10.108.135.66:3306/what_ever
    spring.datasource.username=whatever
    spring.datasource.password=qq123123
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.filters=stat
    spring.datasource.maxActive=120
    spring.datasource.initialSize=1
    spring.datasource.maxWait=60000
    spring.datasource.minIdle=1
    spring.datasource.timeBetweenEvictionRunsMillis=
    spring.datasource.minEvictableIdleTimeMillis=60000
    spring.datasource.validationQuery=SELECT 'x'
    spring.datasource.testWhileIdle=true
    spring.datasource.testOnBorrow=false
    spring.datasource.testOnReturn=false
    spring.datasource.poolPreparedStatements=true
    spring.datasource.maxOpenPreparedStatements=150
    #分页
    pagehelper.helperDialect= mysql
    pagehelper.reasonable=true
    pagehelper.supportMethodsArguments=true
    pagehelper.params=count=countSql
    #mybatis
    mybatis.mapper-locations = classpath:conf/mybatis/mapper/**/*.xml
    mybatis.config-location = classpath:conf/mybatis/mybatis-config.xml
    mybatis.type-aliases-package = demo.msa.dao.model.auto 

    mybatis配置文件

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!-- 全局参数 -->
        <settings>
            <!-- 使全局的映射器启用或禁用缓存。 -->
            <setting name="cacheEnabled" value="true"/>
            <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。 -->
            <setting name="lazyLoadingEnabled" value="true"/>
            <!-- 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载。 -->
            <setting name="aggressiveLazyLoading" value="false"/>
            <!-- 是否允许单条sql 返回多个数据集  (取决于驱动的兼容性) default:true -->
            <setting name="multipleResultSetsEnabled" value="true"/>
            <!-- 是否可以使用列的别名 (取决于驱动的兼容性) default:true -->
            <setting name="useColumnLabel" value="true"/>
            <!-- 允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。  default:false  -->
            <setting name="useGeneratedKeys" value="false"/>
            <!-- 指定 MyBatis 如何自动映射 数据基表的列 NONE:不隐射 PARTIAL:部分  FULL:全部  -->
            <setting name="autoMappingBehavior" value="PARTIAL"/>
            <!-- 这是默认的执行类型  (SIMPLE: 简单; REUSE: 执行器可能重复使用prepared statements语句;BATCH: 执行器可以重复执行语句和批量更新)  -->
            <setting name="defaultExecutorType" value="SIMPLE"/>
            <!-- 使用驼峰命名法转换字段。 -->
            <setting name="mapUnderscoreToCamelCase" value="true"/>
            <!-- 设置本地缓存范围 session:就会有数据的共享  statement:语句范围 (这样就不会有数据的共享 ) defalut:session -->
            <setting name="localCacheScope" value="STATEMENT"/>
            <!-- 设置但JDBC类型为空时,某些驱动程序 要指定值,default:OTHER,插入空值时不需要指定类型 -->
            <setting name="jdbcTypeForNull" value="NULL"/>
            <!--设置超时时间,它决定驱动等待一个数据库响应的时间。-->
            <setting name="defaultStatementTimeout" value="25000"/>
            <!--设置Map为空返回字段名-->
            <setting name="callSettersOnNulls" value="true"/>
        </settings>
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
            </plugin>
        </plugins>
    </configuration>

    example:

    package demo.msa.mybatis;
    
    import demo.msa.dao.daoX.auto.UserInfoMapper;
    import demo.msa.dao.model.auto.UserInfo;
    import demo.msa.dao.model.auto.UserInfoExample;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    
    /**
     * Create by : lux
     */
    @Component
    public class MybatisService {
        @Autowired
        UserInfoMapper userInfoMapper;
        /**
         * 查询全表
         */
        public List<UserInfo>  selectUserInfo(){
            UserInfoExample userInfoExample = new UserInfoExample();
            List<UserInfo> userInfoList = userInfoMapper.selectByExample(userInfoExample);
            return userInfoList;
        }
    }
    package demo.msa.controller;
    
    import demo.msa.dao.model.auto.UserInfo;
    import demo.msa.mybatis.MybatisService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    /**
     * Create by : lux
     */
    @RestController
    public class MybatisController {
        @Autowired
        MybatisService mybatisService;
        @RequestMapping(method = RequestMethod.GET,path = "/mybatisDemo")
        public List<UserInfo> test(){
            return mybatisService.selectUserInfo();
        }
    }

    mybatis-generator配置:

    pom文件:

      <!-- mybatis generator 自动生成代码插件 -->
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.5</version>
                    <configuration>
                        <configurationFile>../msa/src/main/resources/generatorConfig.xml</configurationFile>
                        <overwrite>true</overwrite>
                        <verbose>true</verbose>
                    </configuration>
                </plugin>
            </plugins>

    generatorConfig.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
            PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    
    
    <generatorConfiguration>
    
        <properties resource="mybatis_generator.properties" />
                <!-- 注意以下标签的顺序:property*,plugin*,commentGenerator?,jdbcConnection,
                    javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,
                    javaClientGenerator?,table+ -->
                    
        <!--数据库驱动jar-->
        <classPathEntry location="${classPathEntry}"/>
    
        <context id="baseTradeTables" targetRuntime="MyBatis3" defaultModelType="flat">
    
            <commentGenerator>
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                <property name="suppressAllComments" value="false"/>
                <!-- 不希望生成的注释中包含时间戳 -->
                <property name="suppressDate" value="true" />
                <!-- 是否  自动为每一个生成的类创建一个构造方法-->
                <property name="constructorBased" value="false"/>
            </commentGenerator>
            <!--数据库连接 -->
            <jdbcConnection driverClass="${jdbc_driver}" 
                            connectionURL="${jdbc_url}"
                            userId="${jdbc_username}" 
                            password="${jdbc_password}">
            </jdbcConnection>
    
            <!-- 指定生成的类型为java类型,避免数据库中number等类型字段 -->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="true"/>
            </javaTypeResolver>
            
             <!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/ProjectName/src,也可以使用MAVEN来自动生成 -->
            <javaModelGenerator targetPackage="${modelPackage}" targetProject="${modelProject}">
                <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
                <property name="enableSubPackages" value="false"/>
                <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            
            <!--对应的xml mapper文件  -->
            <sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="${sqlMapperProject}" >
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator> 
            
            <!-- 对应的dao接口 -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="${daoMapperPackage}" targetProject="${daoMapperProject}" >
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
            
    
            <!--对应数据库表 mysql可以加入主键自增 字段命名 忽略某字段等-->
            <table tableName="${tableName}"></table>
            <!-- enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false">  指定是否生成操作数据库对应的方法 -->
            
        </context>
    </generatorConfiguration>

    mybatis_generator.properties:

    #u6570u636eu5e93u9a71u52a8
    #classPathEntry=D://apache-maven-3.5.3-bin//apache-maven-3.5.3//repository//mysql//mysql-connector-java//5.1.32//mysql-connector-java-5.1.32.jar
    classPathEntry=D://kkdev//maven//repository//mysql//mysql-connector-java//5.1.32//mysql-connector-java-5.1.32.jar
    
    #u6570u636eu5e93u914du7f6e
    jdbc_driver=com.mysql.jdbc.Driver
    #jdbc_url=jdbc:mysql://10.80.112.33:3306/xwb_market_sita
    #jdbc_username=code_market_sita
    #jdbc_password=txn222
    jdbc_url=jdbc:mysql://10.108.135.66:3306/what_ever
    jdbc_username=********
    jdbc_password=********
    
    #u6267u884c:u53f3u952e Run As ---->Maven build ---->Goals:mybatis-generator:generate
    #u8f93u51fau76eeu5f55
    modelProject=src/main/java
    sqlMapperProject=src/main/resources
    daoMapperProject=src/main/java
    
    modelPackage=demo.msa.dao.model.auto
    sqlMapperPackage=conf.mybatis.mapper
    daoMapperPackage=demo.msa.dao.daoX.auto
    
    #u8868u540d
    tableName=USER_INFO
  • 相关阅读:
    *setTimeout实现text输入在用户停顿时才调用事件!*
    *关于TextArea里中英文混合时换行的问题*
    *用C#创建Windows服务(Windows Services)
    *使用C# 创建邮件发送组件(SMTP)
    *ASP.NET 2.0 连接SQL Server数据库详解
    *SQL2000系统表的应用
    *在.NET(正式版)环境下发送邮件
    *如何解决select等元素突出来的问题
    *介绍JSON*
    Tomcat性能配置
  • 原文地址:https://www.cnblogs.com/tingxuelou/p/10288764.html
Copyright © 2011-2022 走看看