关键词:
通过Mybatis逆向工程,可以从数据库中的表自动生成pojo、mapper映射文件和mapper接口
此处暂存怎么使用逆向工程,原理以后再探讨
工程结构
要修改的地方:generatorConfig.xml配置文件中数据库信息(用户名、密码等)、指定数据库表 这两个地方需要修改
代码:
1.GeneratorSqlmap.java
import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; public class GeneratorSqlmap { public void generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定 逆向工程配置文件 File configFile = new File("generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } public static void main(String[] args) throws Exception { try { GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
2.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> <context id="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/taotao" userId="root" password="123"> </jdbcConnection> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targetProject:生成PO类的位置 --> <javaModelGenerator targetPackage="com.taotao.pojo" targetProject=".\src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- targetProject:mapper映射文件生成的位置 --> <sqlMapGenerator targetPackage="com.taotao.mapper" targetProject=".\src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.taotao.mapper" targetProject=".\src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 指定数据库表 --> <table schema="" tableName="tb_content"></table> <table schema="" tableName="tb_content_category"></table> <table schema="" tableName="tb_item"></table> <table schema="" tableName="tb_item_cat"></table> <table schema="" tableName="tb_item_desc"></table> <table schema="" tableName="tb_item_param"></table> <table schema="" tableName="tb_item_param_item"></table> <table schema="" tableName="tb_order"></table> <table schema="" tableName="tb_order_item"></table> <table schema="" tableName="tb_order_shipping"></table> <table schema="" tableName="tb_user"></table> </context> </generatorConfiguration>
3.log4j.properties
log4j.rootLogger=DEBUG, Console #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n log4j.logger.java.sql.ResultSet=INFO log4j.logger.org.apache=INFO log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
mybatis-plus01_概述初始化工程basemapper和service中的crud常用注解
文章目录①.MyBatis-Plus的概述②.MyBatis-Plus初始化工程③.BaseMapper中的CRUD④.ServiceCRUD接口⑤.常用注解-@TableName⑥.常用注解-@TableId⑦.主键增长策略-雪花算法⑧.常用注解-@TableField⑨.常用注解-@TableLogic①.MyBatis-Plus的概述①... 查看详情
ssm框架整合笔记-3-mybatis的逆向工程与测试项目
1、mybatis代码生成器(插件)1.1安装插件资源准备:mybatis_generator_1.3.1.zipgeneratorConfig.xml1.1.1关闭MyEclipse,找到MyEclipse安装后的目录,新建文件夹soft/mybatis,如下图:1.1.2解压mybatis_generator_1.3.1.zip文件,并把解压出的features和pougins... 查看详情
ctf逆向工具angr的学习笔记(代码片段)
angr概述如何学习题目列表00_angr_find01_angr_avoid02_angr_find_condition03_angr_symbolic_registers04_angr_symbolic_stack05_angr_symbolic_memory06_angr_symbolic_dynamic_memory07_angr_symbolic_file08_angr_constrai 查看详情
c笔记a01_tmain()和main()的区别,
最近开始用VS写程序,创建了一个C++控制台程序,发现和以前的裸机C还是有很大的区别 _tmain()是unicode版本的的main() _tmain这个符号多见于VC++创建的控制台工程中,这个是为了保证移植unicode而加入的(一般_t... 查看详情
项目一众筹网01_01环境搭建(后台)mbg逆向工程(基于maven)整合mybatis-思路和操作依赖信息来源https://mvnrepository.com(代码片段)
...5-后台-环境搭建-物理建模-操作16-后台-环境搭建-MBG(逆向工程)概要:具体操作:17-后台-环境搭建-父工程管理依赖18-后台-环境搭建-依赖信息来源19-后 查看详情
01_mybatis基础
参考:Mybatis3.4.6中文开发手册 开源项目下载网址:github.com/mybatis/mybatis-3/release官方文档网址:www.mybatis.org/mybatis-3 Mybatis原始apache的开源项目iBatis,后来迁移到googlecode,改名Mybatis。iBatis来源:internet+abates,一个基于java的... 查看详情
mbatis_逆向工程
mybatis逆向工程什么是逆向工程? mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成所需的代码(mapper,java,po...)等,对于新手不建议使用這写,在后期企业实际开发中需要用到由... 查看详情
01_mybatis入门
首先呢,我们用mybatis肯定涉及到mybatis的引用,其次,mybatis是用来连接数据库的,所以又涉及到对对应数据库的引用,所以最基本的我们要导入两个jar包,这边数据库以mysql为例。引入如下两个依赖(maven用法),对应两个jar包... 查看详情
尚硅谷大数据hadoop教程-笔记01入门(代码片段)
...Hadoop3.x安装搭建到集群调优)尚硅谷大数据Hadoop教程-笔记01【入门】尚硅谷大数据Hadoop教程-笔记02【HDFS】尚硅谷大数据Hadoop教程-笔记03【MapReduce】尚硅谷大数据Hadoop教程-笔记04【Yarn】尚硅谷大数据Hadoop教程-笔记04【生产调... 查看详情
编写有效用例_阅读笔记01
粗略浏览整本书,我对它第一印象并不是很好,不然也不会迟迟未看下去。然而,耐着性子学习,却发现我们所学习的软件工程的相关课程,万变不离其宗,整个系统是一致的。换句话说,一个系统做下来,并不是单单一门... 查看详情
学习笔记——mybatis动态sql(代码片段)
2023-01-12一、Mybatis动态SQL即将SQL动态化同时Mybatis的动态SQL支持OFNL表达式,OGNL(ObjectGraphNavigationLanguage)对象图导航语言。1、先搭建环境(1)创建一个“maven”模块,命名为“day04_mybatis”(2)在“day04_mybatis”中的“pom.xml”中的... 查看详情
现代软件工程团队项目贝塔阶段_开发日志_2018.01.15-2018.01.19
现代软件工程团队项目贝塔阶段_开发日志_2018.01.15-2018.01.192018.01.15已完成:1.版本上线 1.1上线操作步骤 1.1.1将网站整体文件夹拷贝到keqi11.1.2修改microDefinition.php的数据库名和根目录名1.1.3修改注册界面发送验证码后直接填... 查看详情
现代软件工程_第01周_纪梓潼_第06题
...p; 这些软件合法么?符合道德规范么?是在“软件工程”的研究范围么?请大家讨论。参考信息:通常人们都在路边招手叫出租车,只有很少的人打电话约车,从2014年起,在很多叫 查看详情
现代软件工程_第01周_纪梓潼_第02题
...软件公司为何会给你免费使用这个软件呢?写这个软件的工程师们,他们的工资如果不从你(用户)这里来,从哪里来呢?目前你们当地的软件工 查看详情
mybatis_01
原生态JavaJDBC程序问题总结:1.数据库连接,使用时就创建,不使用时就关闭。数据库连接频繁的开启和关闭本身就造成了资源的浪费,影响系统的性能。 解决方案:可以使用数据库连接池来管理数据库的连接。2.将sql语句硬编... 查看详情
ase学习笔记_01_mask
【ASE学习笔记】_01_Mask前言:本期使用到的材质类型是无光照类型实现效果:最终结点图实现思路:1.准备两张贴图,一张当做主体贴图,用于展现遮罩效果,另一张用于遮罩,以蝴蝶遮罩效果为例... 查看详情
pyqt5笔记(01)--创建空白窗体
本节主要介绍如何创建一个PyQt的空白窗体1importsys2fromPyQt5.QtWidgetsimportQApplication,QWidget3fromPyQt5.QtGuiimportQIcon45classApp(QWidget):67def__init__(self):8super().__init__()9self.titie="QTsimplewindow"10"""用于设置 查看详情
商城项目_目录
...从0搭建各个微服务项目等商城项目03_人人前后端项目、逆向工程、common工程搭建、coupon以及各个 查看详情