MyBatis Generate
MyBatis Generate可以理解为一个插件,可以帮助你使用SSM框架,根据数据库中的表,自动的生成JavaBean文件、对应的mapper接口、以及对应的mapper配置文件中大部分查询语句
要想使用MyBatis Generate,首先需要导入相应的依赖
<!--mybatis Generator插件-->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
</dependency>
使用MyBatis Generate,还需要创建相对应的配置文件
我们从官网上复制一段配置文件,在根据自己的项目进行修改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--
targetRuntime="MyBatis3Simple":生成简单版的CRUD
MyBatis3:豪华版
MyBatis3DynamicSql:默认值,小黄现在的水平,只能看懂大概是以注解形式来代替mapper配置文件
-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!--设置数据库连接属性-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
&characterEncoding=utf-8
&useSSL=false
&rewriteBatchedStatements=true
&allowPublicKeyRetrieval=true"
userId="root"
password="Hkx123">
</jdbcConnection>
<!--设置类型解析器-->
<javaTypeResolver >
<!--举例:是否强制转换为bigdecimal,否-->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
javaModelGenerator:指定生成的JavaBean文件
targetPackage:目标包名
targetProject:目标工程
-->
<javaModelGenerator targetPackage="com.yellowstar.ssm.bean" targetProject="src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sqlMapGenerator:sql映射生成策略: -->
<sqlMapGenerator targetPackage="mybatis.mapper" targetProject="src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- javaClientGenerator:指定mapper接口所在的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.yellowstar.ssm.dao" targetProject="src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 指定要逆向分析哪些表:根据表要创建javaBean -->
<table tableName="department" domainObjectName="Department"></table>
<table tableName="employee" domainObjectName="Employee"></table>
</context>
</generatorConfiguration>
生成文件
可以通过以下方法生成所对应的文件
@Test
public void testMbg() throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("src/main/resources/mbg.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);
}
设置targetRuntime=“MyBatis3”,来看一下生成的文件以及目录,我们发现每个对应的JavaBean都会自动生成一个Example后缀的类,而如果使用MyBatis3Simple是没有的,这个文件可以为我们提供更强大的增删改查功能,我们来看一下具体的使用
public List<Employee> getAllEmps(){
EmployeeExample employeeExample = new EmployeeExample();
//criteria可以设置sql的过滤语句,用and连接
Criteria criteria = employeeExample.createCriteria();
criteria.andLastNameLike("%e%");
criteria.andGenderEqualTo("1");
//每个criteria1对象之间用or连接
Criteria criteria1 = employeeExample.createCriteria();
criteria1.andDIdEqualTo(2);
employeeExample.or(criteria1);
List<Employee> allEmps = empMapperImpl.selectByExample(employeeExample);
return allEmps;
}
更多推荐
MyBatis Generate的使用
发布评论