代码生成器快速搭建SSMP后台环境

编程入门 行业动态 更新时间:2024-10-27 18:20:01

代码生成器快速搭建SSMP<a href=https://www.elefans.com/category/jswz/34/1771386.html style=后台环境"/>

代码生成器快速搭建SSMP后台环境

准备

创建如下结构普通maven项目

AutoCodeGenerator.java
注意修改4个私有静态属性
author :项目作者
first_level_package_name:项目的一级包名
second_level_package_name :项目的二级包名
table_to_entity :指定数据库中那些表要装换为实体类,表名间用英文逗号分隔,如果全部生成可用all

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Properties;public class AutoCodeGenerator {private static String author = "hao";private static String first_level_package_name = "com";private static String second_level_package_name = "hao";private static String table_to_entity = "all";public static void main(String[] args) throws IOException {InputStream inStream = AutoCodeGenerator.class.getClassLoader().getResourceAsStream("db.properties");Properties prop = new Properties();prop.load(inStream);String url = prop.getProperty("jdbc.url");String username = prop.getProperty("jdbc.username");String password = prop.getProperty("jdbc.password");// 数据库配置DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig.Builder(url, username, password);FastAutoGenerator.create(dataSourceConfigBuilder)// 全局配置.globalConfig((scanner, builder) -> {builder.author(author)// 覆盖已生成文件.fileOverride()// 指定输出目录.outputDir(System.getProperty("user.dir") + "/src/main/java/")// 禁止打开输出目录.disableOpenDir()// 时间策略.dateType(DateType.TIME_PACK)// 类注释日期的格式mentDate("yyyy-MM-dd").build();})// 包配置.packageConfig((scanner, builder) -> {// 父包名builder.parent(first_level_package_name)// 模块名.moduleName(second_level_package_name)// Entity 包名.entity("entity")// Service 包名.service("service")// Controller 包名.controller("controller")// Mapper 包名.mapper("mapper")// MapperXML 包名.xml("mapper")// 路径配置信息.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/resources/mapper"));})//策略配置.strategyConfig((scanner, builder) -> {// 增加表匹配(内存过滤),	include 与 exclude 只能配置一项builder.addInclude(getTables(table_to_entity))// 	增加表排除匹配(内存过滤),	include 与 exclude 只能配置一项// .addExclude(scanner.apply("请输入要忽略的表名,多个英文逗号分隔?"))// 	增加过滤表后缀.addTableSuffix("")// 	增加过滤表前缀.addTablePrefix("")// service 策略配置.serviceBuilder()// 	格式化文件名称.formatServiceFileName("%sService").formatServiceImplFileName("%sServiceImpl")// 实体策略配置.entityBuilder()//AR模式.enableActiveRecord()// 开启生成实体时生成字段注解.enableTableFieldAnnotation()// controller 策略配置.controllerBuilder().formatFileName("%sController")// 开启生成@RestController 控制器
//                            .enableRestStyle()// 	mapper 策略配置.mapperBuilder()// 设置父类.superClass(BaseMapper.class).formatMapperFileName("%sMapper").enableMapperAnnotation().formatXmlFileName("%sMapper");}).execute();}/*** 处理 all 情况* 要生成的表名,以英文逗号分隔多个表格名(所有表填all)** @param tables* @return*/protected static List<String> getTables(String tables) {return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));}
}

applicationContext.xml
注意修改4个要注解扫描包的基址
com.hao.mapper
com.hao.service
com.hao.controller
com.hao.entity

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=""xmlns:xsi=""xmlns:context=""xmlns:mvc=""xsi:schemaLocation="://www.springframework/schema/beans/spring-beans.xsd  .xsd  .xsd"><context:property-placeholder location="classpath:db.properties"/><context:component-scan base-package="com.hao.service,com.hao.controller"/><mvc:annotation-driven/><mvc:default-servlet-handler/><!--===================spring-mapper.xml=====================--><!--数据库连接池配置 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><!--SqlSessionFactory--><bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="typeAliasesPackage" value="com.hao.entity"/></bean><!--配置dao接口扫描包,动态的实现了Dao接口可以注入到Spring容器中--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!--注入sqlSessionFactory--><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!--要扫描的dao包--><property name="basePackage" value="com.hao.mapper"/></bean><!--===================spring-mvc.xml========================--><!--视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--===================spring-service.xml====================--><!--声明式事务--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--注入数据源--><property name="dataSource" ref="dataSource"/></bean>
</beans>

db.properties
注意修改连接的数据库名,用户名以及密码

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/dingding?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true
jdbc.username=root
jdbc.password=root

log4j.properties

log4j.rootLogger=debug, consolelog4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %5p %c - %m%n
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug 
log4j.logger.mybatis=debuglog4j.logger.myrobot.persist=debug 
log4j.logger.myrobot.dao=debug 
log4j.logger.myrobot.controller=debug 

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0"xmlns:xsi=""xsi:schemaLocation=".0.0 .0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>quickssmp-02</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.3</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>3.5.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.16</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.16</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.79</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version></dependency><!--mybatis-plus代码生成器--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><!-- 日志相关 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.7</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.7</version></dependency></dependencies><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build>
</project>

运行AutoCodeGenerator

注意打开mysql服务

测试

import com.hao.entity.TUser;
import com.hao.mapper.TUserMapper;
import com.hao.service.impl.TUserServiceImpl;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;import java.util.List;public class mytest {private ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");private TUserServiceImpl service = context.getBean(TUserServiceImpl.class);private TUserMapper mapper = service.getBaseMapper();@Testpublic void test() {List<TUser> userInfos = mapper.selectList(null);for (TUser userInfo : userInfos) {System.out.println(userInfo);}}
}

更多推荐

代码生成器快速搭建SSMP后台环境

本文发布于:2024-02-25 07:09:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1698195.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:后台   快速   环境   代码生成器   SSMP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!