mybatis-generator的使用心得
之前开发了一个亚健康测评系统,使用的是SSM框架,里面第一次使用到了mybatis-generator逆向代码生成工具,很方便,省去了基本的增删改查的mapper文件及sql的编写,还能避免错误,这里推荐一下!
当然,使用该工具的前提是你得有这个工具。他的下载地址为:https://github.com/mybatis/generator/releases
如果使用Maven就不需要下载了,见pom.xml文件配置即可
在你建好数据库的前提下,该工具才能发挥作用,而且数据表必须包含主键,生成的select方法都是根据主键查找的。
以下是配置文件
pom.xml中加入插件
1 <plugin>
2 <groupId>org.mybatis.generator</groupId>
3 <artifactId>mybatis-generator-maven-plugin</artifactId>
4 <version>1.3.2</version>
5 <configuration>
6 <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
7 <verbose>true</verbose>
8 <overwrite>true</overwrite>
9 </configuration>
10 <executions>
11 <execution>
12 <id>Generate MyBatis Artifacts</id>
13 <goals>
14 <goal>generate</goal>
15 </goals>
16 </execution>
17 </executions>
18 <dependencies>
19 <dependency>
20 <groupId>org.mybatis.generator</groupId>
21 <artifactId>mybatis-generator-core</artifactId>
22 <version>1.3.2</version>
23 </dependency>
24 </dependencies>
25 </plugin>
generatorConfig.xml的具体配置
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
3 <generatorConfiguration>
4 <!-- 数据库配置文件 -->
5 <properties resource="db.properties" />
6
7 <context id="context1">
8 <property name="javaFileEncoding" value="UTF-8" />
9 <property name="autoDelimitKeywords" value="true" />
10 <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter" />
11 <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter" />
12
13 <!-- 注释生成规则 -->
14 <commentGenerator type="org.mybatis.generator.internal.HairyCommentGenerator">
15 <property name="suppressAllComments" value="false" />
16 <property name="suppressDate" value="true" />
17 </commentGenerator>
18
19 <!-- 数据库连接 -->
20 <jdbcConnection driverClass="${driver}" connectionURL="${url}" userId="${user}" password="${password}" />
21
22 <!-- 数据库的生成配置 -->
23 <javaModelGenerator targetPackage="com.lsd.bean" targetProject="${project.dir}/src/main/java" />
24 <sqlMapGenerator targetPackage="com.lsd.dao" targetProject="${project.dir}/src/main/resources" />
25 <javaClientGenerator targetPackage="com.lsd.dao" targetProject="${project.dir}/src/main/java" type="XMLMAPPER" />
26
27 <!-- 以上部分配置固定,无需改动,此处往下开始项目设置 -->
28
29 <!-- user表 -->
30 <table tableName="user" domainObjectName="User">
31 <property name="useActualColumnNames" value="true" />
32 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
33 </table>
34 <!-- Account表 -->
35 <table tableName="Account" domainObjectName="Account">
36 <property name="useActualColumnNames" value="true" />
37 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
38 </table>
39 <!-- qbank表 -->
40 <table tableName="Qbank" domainObjectName="Qbank">
41 <property name="useActualColumnNames" value="true" />
42 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
43 </table>
44 <!-- Questionfiles表 -->
45 <table tableName="Questionfiles" domainObjectName="Questionfiles">
46 <property name="useActualColumnNames" value="true" />
47 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
48 </table>
49 <!-- TestRecord表 -->
50 <table tableName="TestRecord" domainObjectName="TestRecord">
51 <property name="useActualColumnNames" value="true" />
52 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
53 </table>
54 <!-- EvaludateScore表 -->
55 <table tableName="EvaludateScore" domainObjectName="EvaludateScore">
56 <property name="useActualColumnNames" value="true" />
57 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
58 </table>
59 <!-- TestAdvice表 -->
60 <table tableName="TestAdvice" domainObjectName="TestAdvice">
61 <property name="useActualColumnNames" value="true" />
62 <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
63 </table>
64 </context>
65 </generatorConfiguration>
spring-mybatis.xml的具体配置
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans
6 http://www.springframework.org/schema/beans/spring-beans.xsd
7 http://www.springframework.org/schema/context
8 http://www.springframework.org/schema/context/spring-context-3.2.xsd">
9 <!-- 自动扫描 -->
10 <context:component-scan base-package="com.lsd.controller,com.lsd.filter" />
11
12 <!-- 引入配置文件 -->
13 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
14 <property name="locations" value="classpath:db.properties"/>
15 </bean>
16
17 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
18 <property name="driverClass" value="${driver}" />
19 <property name="jdbcUrl" value="${url}" />
20 <property name="user" value="${user}" />
21 <property name="password" value="${password}" />
22 </bean>
23
24 <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
25 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
26 <!-- 注入数据源 -->
27 <property name="dataSource" ref="dataSource" />
28 <!-- 自动扫描mapper.xml文件 -->
29 <property name="mapperLocations">
30 <array>
31 <value>classpath:com/lsd/dao/custom/*.xml</value>
32 <value>classpath:com/lsd/dao/*.xml</value>
33 </array>
34 </property>
35 </bean>
36
37 <!-- DAO接口所在包名,Spring会自动查找其下的类 -->
38 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
39 <property name="basePackage" value="com.lsd.dao" />
40 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
41 </bean>
42
43 <!-- 事务管理 -->
44 <bean id="transactionManager"
45 class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
46 <property name="dataSource" ref="dataSource" />
47 </bean>
48
49 </beans>
这个系统的编写我用的是Intellij IDEA,用了Maven,所以使用生成工具可以直接使用maven的命令提示符,具体的生成语句是mvn mybatis-generator:generate ,一旦数据库进行了更改,都需使用这句代码重新生成bean、dao、mapper文件
mybatis-generator的使用心得的更多相关文章
- mybatis Generator生成代码及使用方式
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5889312.html 为什么要有mybatis mybatis 是一个 Java 的 ORM 框架,OR ...
- 使用MyBatis Generator自动创建代码(dao,mapping,poji)
连接的数据库为SQL server2008,所以需要的文件为sqljdbc4.jar 使用的lib库有: 在lib库目录下新建一个src文件夹用来存放生成的文件,然后新建generatorConfig ...
- mybatis generator 自动生成dao层映射代码
资源: doc url :http://www.mybatis.org/generator/ download:https://github.com/mybatis/generator/release ...
- mybatis generator maven插件自动生成代码
如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...
- mybatis generator.xml 配置 自动生成model,dao,mapping
generator.xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE gener ...
- Mybatis generator的使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...
- MyBatis Generator作为maven插件自动生成增删改查代码及配置文件例子
什么是MyBatis Generator MyBatis Generator (MBG) 是一个Mybatis的代码生成器,可以自动生成一些简单的CRUD(插入,查询,更新,删除)操作代码,model ...
- 记一次 IDEA mybatis.generator 自定义扩展插件
在使用 idea mybatis.generator 生成的代码,遇到 生成的代码很多重复的地方, 虽然代码是生成的,我们也不应该允许重复的代码出现,因为这些代码后期都要来手动维护. 对于生成时间戳注 ...
- Mybatis Generator生成工具配置文件详解
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...
- MyBatis Generator 详解
MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...
随机推荐
- SQL注入:Sqlmap初体验
目录 sqlmap 安装 查看帮助文档 中文文档 直连数据库 服务型数据库(mysql) 文件型数据库(sqlite) 初级实战 1. 扫描注入点 2. 根据注入点查到全部数据库 --dbs 3. 根 ...
- 03.21 ICPC训练联盟周赛:UCF Local Programming Contest 2018正式赛
B Breaking Branches 题意:两个人比赛折枝,谁剩下最后1,无法折出整数即为输 思路:树枝长n,若是奇数,则Bob胜出,若是偶数,则Alice胜出,且需要输出1: 1 #include ...
- Beta——事后分析
事后总结 NameNotFound 团队 项目 内容 北航-2020-软件工程(春季学期) 班级博客 要求 Beta事后分析 课程目标 通过团队合作完成一个软件项目的开发 会议截图 一.设想和目标 软 ...
- queryset惰性与缓存
https://blog.csdn.net/zhu6201976/article/details/83550461
- jQuery两种方法添加数据表格到HTML
jQ创建表格的两种方法 1.模板字符串法 $(function () { //模板字符串的方式添加到页面 $('#btn').click(function ...
- 配置trunk和access
配置trunk和access 拓扑图 PC地址设置 PC1 :192.168.1.1 vlan10 PC2 :192.168.1.2 vlan10 交换机配置 LSW3配置 <Huawei> ...
- cron 任务的典型格式是: 分钟(0-59) 小时(0-24) 日(1-31) 月(1-12) 星期(0-6) 要执行的命令
https://linux.cn/article-9687-1.html Cron 是您可以在任何类 Unix 操作系统中找到的最有用的实用程序之一.它用于安排命令在特定时间执行.这些预定的命令或任务 ...
- 四大浏览器JavaScript性能/硬件加速测试
四大浏览器JavaScript性能/硬件加速测试 出处:快科技 2010-09-19 10:52:59 人气: 27925 次 作者:萧萧 编辑:萧萧[爆料] 评论(42) 收藏文章 新 ...
- Linux进阶之seq,pidof,wget,curl,tr,grep命令
本节内容 seq pidof wget curl tr grep 1.seq(sequence) 生成数列 例子1:指定结束位置 [root@renyz ~]# seq 5 1 2 3 4 ...
- Nginx下配置Https 配置文件(vue)
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...