1.pom.xml
xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0modelVersion> //当前项目的名称 <groupId>dhcc.basicbusinessgroupId> <artifactId>dhcc-basicbusinessartifactId> <version>0.0.1-SNAPSHOTversion> //打包方式:jar、war <packaging>jarpackaging> <name>dhcc-basicbusinessname> <description>Demo project for Spring Bootdescription> <parent> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-parentartifactId> <version>1.5.8.RELEASEversion> <relativePath/> parent> <properties> //通过mybatis自动生成mapper.实体类。以及mapper.xml文件(具体的自动生成xml文件在下面的generatorConfig.xml中) <targetJavaProject>${basedir}/src/main/javatargetJavaProject> <targetMapperPackage>com.basicbusiness.mappertargetMapperPackage> <targetModelPackage>com.dhcc.comment.entitytargetModelPackage> <targetResourcesProject>${basedir}/src/main/resourcestargetResourcesProject> <targetXMLPackage>mybatistargetXMLPackage> <mapper.version>3.4.0mapper.version> <mybatis.version>3.3.1mybatis.version> <mybatis.spring.version>1.2.4mybatis.spring.version> <pagehelper.version>4.1.1pagehelper.version> <project.build.sourceEncoding>UTF-8project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding> <java.version>1.8java.version> <spring-cloud.version>Dalston.SR4spring-cloud.version> properties> //引入的所有依赖包 <dependencies> <dependency> <groupId>org.springframework.sessiongroupId> <artifactId>spring-session-data-redisartifactId> dependency> <dependency> <groupId>org.springframework.cloudgroupId> <artifactId>spring-cloud-starter-eurekaartifactId> dependency> --> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-jdbcartifactId> dependency> <dependency> <groupId>org.mybatis.spring.bootgroupId> <artifactId>mybatis-spring-boot-starterartifactId> <version>1.3.1version> dependency> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starterartifactId> <exclusions> <exclusion> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-loggingartifactId> exclusion> exclusions> dependency> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-log4j2artifactId> dependency> <dependency> <groupId>oraclegroupId> <artifactId>ojdbc14artifactId> <version>11.2.0.4version> dependency> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-testartifactId> <scope>testscope> dependency> <dependency> <groupId>com.google.code.gsongroupId> <artifactId>gsonartifactId> <version>2.8.1version> dependency> <dependency> <groupId>javax.persistencegroupId> <artifactId>persistence-apiartifactId> <version>1.0version> dependency> <dependency> <groupId>com.vaadin.external.googlegroupId> <artifactId>android-jsonartifactId> <version>0.0.20131108.vaadin1version> dependency> <dependency> <groupId>io.jsonwebtokengroupId> <artifactId>jjwtartifactId> <version>0.6.0version> dependency> <dependency> <groupId>sigargroupId> <artifactId>sigarartifactId> <version>1.1.8version> <scope>systemscope> <systemPath>${project.basedir}/src/main/resources/lib/sigar.jarsystemPath> dependency> <dependency> <groupId>com.dhccgroupId> <artifactId>dhcc-commentartifactId> <version>0.0.1-SNAPSHOTversion> dependency> dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloudgroupId> <artifactId>spring-cloud-dependenciesartifactId> <version>${spring-cloud.version}version> <type>pomtype> <scope>importscope> dependency> dependencies> dependencyManagement> <build> <resources> <resource> <directory>src/main/resources/libdirectory> <targetPath>BOOT-INF/lib/targetPath> <includes> <include>**/*.jarinclude> includes> resource> <resource> <directory>src/main/resourcesdirectory> <targetPath>BOOT-INF/classes/targetPath> resource> resources>
<plugins> <plugin> <groupId>org.mybatis.generatorgroupId> <artifactId>mybatis-generator-maven-pluginartifactId> <version>1.3.2version> <configuration> <configurationFile>${basedir}/src/main/resources/generatorConfig.xmlconfigurationFile> <overwrite>trueoverwrite> <verbose>trueverbose> configuration> <dependencies> <dependency> <groupId>tk.mybatisgroupId> <artifactId>mapperartifactId> <version>${mapper.version}version> dependency> dependencies> plugin> <plugin> <artifactId>maven-assembly-pluginartifactId> <configuration> <appendAssemblyId>falseappendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependenciesdescriptorRef> descriptorRefs> <archive> <manifest> <mainClass>com.basicbusiness.DhccBasicbusinessApplicationmainClass> manifest> archive> configuration> <executions> <execution> <id>make-assemblyid> <phase>packagephase> <goals> <goal>assemblygoal> goals> execution> executions> plugin> <plugin> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-maven-pluginartifactId> <version>1.5.7.RELEASEversion> plugin> plugins> build> project>
2.自动生成跟数据相对应的实体、接口、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> <classPathEntry location="G:\Program Files\apache-maven-3.5.0\oracle\ojdbc14\11.2.0.4\ojdbc14-11.2.0.4.jar"/> <context id="Oracle" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <property name="mergeable" value="false">property> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/> plugin> <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@192.168.2.4:21521:orcl" userId="wisdom" password="wisdomdb"> jdbcConnection> <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/> <sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/> <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER"/> <table tableName="TT_RESOURCE" domainObjectName="Resource">table> context> generatorConfiguration>
3.spring boot 的启动类:
package dhccmfish.dhccmfish; import com.corundumstudio.socketio.AuthorizationListener; import com.corundumstudio.socketio.Configuration; import com.corundumstudio.socketio.HandshakeData; import com.corundumstudio.socketio.SocketIOServer; import com.corundumstudio.socketio.annotation.SpringAnnotationScanner; import com.dhcc.comment.common.ComDef; import com.dhcc.comment.config.JdbcDataSource; import com.dhcc.comment.config.RedisConfig; import com.dhcc.comment.log.LogWriter; import com.dhcc.comment.util.BufferStream; import com.dhcc.comment.util.FileManager; import com.dhcc.comment.util.StringUtil; import dhccmfish.dhccmfish.common.entity.ClientInfo; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.logging.log4j.LogManager; import org.apache.tomcat.jdbc.pool.DataSource; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.interceptor.KeyGenerator; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.Bean; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; import java.lang.reflect.Method; import java.util.Map; import java.util.Properties; //启动注册器 @EnableDiscoveryClient @EnableEurekaClient //启动事物管理 @EnableTransactionManagement //mybatis的接口扫描位置 @MapperScan("dhccmfish.dhccmfish.common.mapper") //设置session有效时间 @EnableRedisHttpSession(maxInactiveIntervalInSeconds = ComDef.SESSIOM_EXPIRE_TIMEOUT) //启动该项目的时候不自动去找数据库的配置 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class DhccMfishApplication{ //实例化 RedisConnectionFactory 对象 @Bean(name = "jedisConnectionFactory") public JedisConnectionFactory connectionFactory() { return RedisConfig.connectionFactory(4); } // 实例化 RedisTemplate 对象 @Bean(name = "redistemplate") public RedisTemplate