手动连接操作数据库需要创建与数据库字段对应的bean组件,然后生成对数据库进行增删改查的接口,之后在类路径下创建接口实现xml文件和数据库配置的xml文件。整个过程过于繁琐,可以使用逆向工程自动生成这些文件。
刚开始的文件包:
具体步骤:
1. 在工程中创建mbg.xml
文件,用于写入逆行工程代码。其代码可参照
2. 修改对应标签中的代码,使其自动生成bean,接口,配置等文件
<?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="DB2Tables" targetRuntime="MyBatis3">
<!-- jdbcConnection:指导连接到哪个数据库 -->
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis_0325?serverTimezone=Asia/Shanghai"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- javaModelGenerator:生成pojo
targetPackage:生成的pojo放在哪个包
targetProject:放在哪个工程下
-->
<javaModelGenerator targetPackage="com.atguigu.bean" targetProject=".\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sqlMapGenerator:sql映射文件生成器,指定xml生成的地方 -->
<sqlMapGenerator targetPackage="com.atguigu.dao" targetProject=".\conf">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- javaClientGenerator:dao接口生成的地方 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.dao" targetProject=".\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- table:指定逆向生成哪个数据表
tableName="t_cat":表名
domainObjectName="Cat":这个表对应的对象名,即与数据表字段对应的bean名。
-->
<table tableName="t_cat" domainObjectName="Cat" ></table>
<table tableName="t_employee" domainObjectName="Employee" ></table>
<table tableName="t_teacher" domainObjectName="Teacher" ></table>
</context>
</generatorConfiguration>
说明:
1)删除<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
标签。
2)jdbcConnection:
指导连接到哪个数据库。
3)javaModelGenerator
:生成pojo(与数据库对应的字段的bean类)。
4)targetPackage
:生成的pojo放在哪个包。
5)targetProject
:放在哪个工程下,即bean组件所在的工程。
6)sqlMapGenerator
:sql映射文件生成器,指定接口映射xml文件生成的地方。
7)javaClientGenerator
:dao接口生成的地方。
8)table
:指定逆向生成哪个数据表 。
9)tableName
=“t_cat”:表名。
10)domainObjectName
=“Cat”:这个表对应的对象名,即与数据表字段对应的bean名。
11)可以在<context id="DB2Tables" targetRuntime="MyBatis3">
的targetRuntime="MyBatis3"
中设置生成的bean使简单版还是复杂版。可参照文档XML Configuration Reference
的<context>
中的targetRuntime
。
3. 测试
public class MBGTest {
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("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);
System.out.println("完成!");
}
}
说明:
需要在File configFile = new File("mbg.xml");
中导入上述逆向工程文件mbg.xml
4. 运行
直接生成了bean类(与数据库表字段对应),接口,接口实现的xml文件。