到Maven官网下载jar包下载地址
导入到一个空的项目中(项目结构完整)
该项目的所有jar包如下(mybatis整合spring的)
去官网找到逆向工程的配置文件地址在这儿
把下面这个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="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql:///mybatis"
userId="root"
password="529558445">
</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.lfm.po"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.lfm.mapper"
targetProject=".\src">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.lfm.mapper"
targetProject=".\src">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table schema="" tableName="items" />
<table schema="" tableName="orders" />
<table schema="" tableName="orderdetail"/>
<table schema="" tableName="user" />
</context>
</generatorConfiguration>
接下来就可以配置java程序(我们通过java程序来实现,eclipse和idea可以通过插件来实现),这个java程序可以在官网找到
具体就这样
运行这个程序即可,效果如下,都帮我创建好了
我们可以点开一个用户的mapper.xml文件来测试一下其中的方法,就是根据id查询用户
接口方法如下
编写测试了测试一下
测试结果
我们还可以自定义查询条件,因为它帮我们生成的方法不是一定能满足要求的,例如我们要根据用户名查询
1.根据它帮我创建的Example类来获得criteria对象就可以实现自定义查询
2.来个测试方法
3.测试结果,确实实现了
总结。通过逆向工程可以让我们少做很多的工作得到更高的效率,要想实现更加复杂的查询就还是要自己实现不同的关联查询
mybatis的学习就到这里告一段落了,以后工作得到更多的经验再回来补充