小白级别、超详细的在springboot项目中使用mybatis的逆向工程图文解析
mybatis提供逆向工程是干嘛的?
通过数据库的表单,自动产生javabean以及相关的CRUD代码。
SpringBoot版本:1.5.20.RELEASE
使用IDEA编译器软件,直接创建新的SpringBoot项目
我这里使用Navicat可视化工具连接mysql进行操作:
创建person表,属性:id(主键),name,age,address,各个字段的类型以及长度随意。
在dependencies中加入这两个jar包:
com.alibaba.druid是我使用的阿里巴巴的druid连接池(其实直接使用jdbc连接就可以,这里我也只是想多融合点东西)
mysql-connector-java:其实选择在选择jdbc模块时,springboot就已经导入了,可以在pom.xml里面的中看到,但是这里不写,我测试CRUD时会报错。
向工程中引入mybatis-generator插件
注意:< build >和< dependencies >是同级关系
org.springframework.boot
spring-boot-maven-plugin
org.mybatis.generator
mybatis-generator-maven-plugin
mysql
mysql-connector-java
5.1.47
org.mybatis.generator
mybatis-generator-core
1.3.2
Generate MyBatis Artifacts
package
generate
true
false
src/main/resources/mybatis-generator.xml
src/main/java
**/*.properties
**/*.xml
附完整pom.xml代码:
4.0.0
org.springframework.boot
spring-boot-starter-parent
1.5.20.RELEASE
com.song
mybatistest
0.0.1-SNAPSHOT
mybatistest
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.4
org.springframework.boot
spring-boot-starter-test
test
org.projectlombok
lombok
mysql
mysql-connector-java
runtime
com.alibaba
druid
1.1.8
org.springframework.boot
spring-boot-maven-plugin
org.mybatis.generator
mybatis-generator-maven-plugin
mysql
mysql-connector-java
5.1.47
org.mybatis.generator
mybatis-generator-core
1.3.2
Generate MyBatis Artifacts
package
generate
true
false
src/main/resources/mybatis-generator.xml
src/main/java
**/*.properties
**/*.xml
通过对mybatis-generator.xml的配置,我们需要配置自动生成的javabean对象、Dao类以及Mapper.xml存放的位置等,具体信息可以看我的配置文件的注释(有些也是我copy其他博客的),具体可以参考一个链接(突然找不到了,之后补上)。
mybatis-generator.xml配置文件放在…\src\main\resources下
找到右侧maven快捷按钮
在插件中找到我们要用的mybatis-generator插件,双击或者右键菜单后选择运行。
查看运行插件后结果:
会自动在这3个路径下生成javabean、dao以及mapper.xml,至于为什么是这个路径以及包名问题,在之前的mybatis-generator.xml中已经配置好了,没看懂的可以回头对照着看看。
但这一步,mybatis的逆向工程其实就已经大功告成,毕竟mybatis的逆向工程就只是用来通过数据库表来产生java代码。
我这里用的是springboot自带的单元测试来测试的,在测试前我们还有其他额外工作要做:
由于这里我们只是测试,没用到什么强大的功能,因此我就配置了个驼峰命名法,意思意思下……
我这里使用的yml格式的配置文件,application.*ml配置文件是告诉spring要连接的数据库相关信息,以及告诉mybatis它的配置信息和CRUD操作的文件存放在哪里。
注意:确保本机的mysql服务是启动的,不确定的可以先看看:
方法是:首先win+R,然后输入services.msc+enter,最后在服务列表中找mysql的服务,如果没有开启就手动启动就好。
import com.song.mybatistest.bean.Person;
import com.song.mybatistest.dao.PersonMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatistestApplicationTests {
@Autowired
private PersonMapper personMapperImp;
@Test
public void contextLoads() {
Person person = new Person();
person.setId(1);
person.setAge(18);
person.setName("小明");
person.setAddress("中国四川成都");
personMapperImp.insert(person);
}
}
测试结果:
由于水平有限,如果内容存在什么问题恳请纠正!有疑问欢迎留言~~~~