博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 中使用 Mybatis generator 自动生成代码
阅读量:4619 次
发布时间:2019-06-09

本文共 10906 字,大约阅读时间需要 36 分钟。

Mybatis generator 是一个 Mybatis 插件,可以用于自动生成项目中需要的 pojo 类、对应的 Mapper 接口和 mapper.xml 文件。使用该插件,一方面可以节省开发时间,另一方面也避免手写时打错字的问题。

由于工作需要,我打算在原有的 Spring 项目中使用 Mybatis generator 自动生成代码,以便简化 DAO 层的开发。

闲言少叙,just do it!

1. 引入依赖

a. 父模块配置

4.3.9.RELEASE
5.1.21
2.2.2
1.8.3
2.0.1
4.12
true
1.18.2
UTF-8
true
true
1.8
org.springframework
spring-core
${spring_version}
org.springframework
spring-beans
${spring_version}
org.springframework
spring-aop
${spring_version}
org.springframework
spring-context
${spring_version}
org.springframework
spring-context-support
${spring_version}
org.springframework
spring-tx
${spring_version}
org.springframework
spring-jdbc
${spring_version}
org.springframework
spring-orm
${spring_version}
org.springframework
spring-web
${spring_version}
org.springframework
spring-webmvc
${spring_version}
org.springframework
spring-test
${spring_version}
test
commons-beanutils
commons-beanutils
${commons_beanutils_version}
commons-io
commons-io
${commons_io_version}
com.google.code.gson
gson
${gson_version}
mysql
mysql-connector-java
${mysql_connector_version}
org.mybatis
mybatis
3.2.8
org.mybatis
mybatis-spring
1.2.2
org.apache.ibatis
ibatis-sqlmap
${ibatis_version}
com.alibaba
druid
1.0.12
org.aspectj
aspectjweaver
1.8.4
junit
junit
${junit_version}
test
com.alibaba
fastjson
1.2.58
org.projectlombok
lombok
${lombok.version}
provided
View Code

b. 子模块配置

我们在子模块中引入插件 mybatis-generator-maven-plugin。

org.mybatis
mybatis
org.mybatis
mybatis-spring
com.alibaba
druid
org.springframework
spring-jdbc
org.springframework
spring-orm
org.springframework
spring-aop
org.springframework
spring-tx
org.springframework
spring-test
mysql
mysql-connector-java
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.5
${basedir}/src/main/resources/generatorConfig.xml
true
true
mysql
mysql-connector-java
${mysql_connector_version}
View Code

2. 引入配置文件

由于上文在 mybatis-generator-maven-plugin 插件中指定了所需的配置文件:generatorConfig.xml,所以在子模块 resources 目录下引入该配置文件。

View Code

3. 自动生成 Mapper 接口、XML 文件和 pojo 类

点击 IDEA 右侧的 Maven 控件栏,找到对应模块下面的 mybatis-generator 插件,双击即可自动生成 Mapper 接口、mapper.xml 文件和 pojo 类。

 4. Spring 中使用 Mapper 接口

 a. 配置 spring-meta.xml 文件

classpath:mapper/*Mapper.xml
View Code

b. config.properties 配置

jdbc.url=jdbc:mysql://ip:port/db_name?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=falsejdbc.username=usernamejdbc.password=passwordjdbc.driver=com.mysql.jdbc.Driver
View Code

注意上述的 spring-meta.xml、config.properteis 文件都放在 resources 目录下。

子模块整体结构如下:

 

c. 接口中新增方法

此时 Mapper 接口已经具备部分 CRUD 的能力,再新增一个自定义的 getNumberWeNeed 方法。

Mapper 接口:

public interface HelloMapper {   int deleteByPrimaryKey(String tjId);    int insert(Hello record);    Hello selectByPrimaryKey(String tjId);    List
selectAll(); // 根据月份、地区查找所需的数值型字段 BigDecimal getNumberWeNeed(@Param("column") String column, @Param("month") String month, @Param("area") String area);}
View Code

相应的 XML 文件:

View Code

5. 编写测试类验证

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:spring-meta.xml"})public class HelloMapperTest {    @Autowired    HelloMapper helloMapper;    @Test    public void testGetWeNeedNumber(){      // 比较两个 BigDecimal 类型的数必须用 compareTo       Assert.assertTrue(new BigDecimal("2").compareTo(helloMapper.getNumberWeNeed("total", "209905", "BeiJing")) == 0);    }}
View Code

以上。

转载于:https://www.cnblogs.com/hurricaneyang/p/11180847.html

你可能感兴趣的文章
mysql的csv数据导入与导出
查看>>
leetcode笔记:Pascal's Triangle
查看>>
java Hibernate UUID代码
查看>>
【QwQ】乱七八糟的置顶
查看>>
浅谈Scrapy爬虫(一)
查看>>
Eclipse编译快捷键
查看>>
Spring MVC的一些学习笔记-入门配置和HttpMessageConverter
查看>>
p2p手机绑定
查看>>
【AWS】AWS使用笔记
查看>>
画框输出三角函数
查看>>
2016-03-15 webview loadwebview html
查看>>
停更说明
查看>>
JAVA servlet 上传文件(commons-fileupload, commons-io)
查看>>
ASP.NET性能优化之构建自定义文件缓存
查看>>
利用API自动建立GL科目段组合
查看>>
GPS定位的实现
查看>>
echars简单使用
查看>>
hibernate配置注意事项
查看>>
UVA 696 How Many Knights
查看>>
2018.10.13 队测总结
查看>>