接触IDEA,尝试搭建springboot整合mybatis开发

一、创建新的项目create new project

选择 spring initializr(spring初始化),下一步如下图。选择spring web,选择thymeleaf模板引擎(template engines),选择mysql,jdbc,mybatis

 

 

finish 完成创建,并选择new window(新的IDEA中打开我们新建的项目)

 

二、添加配置信息

1)application.properties,配置链接的数据库

spring.datasource.url= jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

//mybatis映射文件路径,对应resources路径
mybatis.mapper-locations=classpath:mapper/*.xml
//实体类包路径,对应java路径
mybatis.type-aliases-package=com.example.testdemo.entity

2)pom.xml添加配置mybatis自动生成实体类

<!-- springboot通过Controller访问页面,thymeleaf依赖配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- mybatis generator 生成代码插-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>

3)resource文件夹下创建generator文件夹,并在文件夹中创建generatorConfig.xml文件。文件内容如下所示:

有两种方式:

方式一(直接在java类的mapper中用注解写sql语句),方式二是在resources中创建了映射文件;后面续写方式二。

<?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>
<!-- 库驱动:选择你的本地硬上面的库驱动-->
<classPathEntry location="D:\MrLi\work\package\mysql-connector-java-5.1.42-bin.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自生成的注 true:是 : false:-->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--库连驱动类,URL,用名、密-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test" userId="root" password="">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成()模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.testdemo.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成XML映射文件的包名和位置-->
<sqlMapGenerator targetPackage="com.example.testdemo.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.testdemo.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName中的表名或视图 domainObjectName-->
<table tableName="login_user" domainObjectName="user" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>

4)所有文件创建完成后,还需要进行简单的配置。Run→Edit Configurations.,选择左上角“+”添加maven,然后选择maven,配置Command line,用于生成实体类及映射。

 然后运行一下此处填写名称(generator)的生成实体类程序。run(generator)。

 如果实体类不出现,则有地方配置不对。回头仔细查看

5) 所用文件创建完成,并配置好相关设置,重新启动项目。实体类自动生成完成

 

 

 

方式二(mapper映射文件创建在resources中中,用标签写sql语句)

 

只把上面的映射文件部分修改一下:

 

<generatorConfiguration>
<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
<classPathEntry location="E:\mysql-connector-java-5.1.30.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库连接驱动类,URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="root" password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成(实体)模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.bootmybatis.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成XML映射文件的包名和位置-->
<sqlMapGenerator targetPackage="main.resources.mapper" targetProject="src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.bootmybatis.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="testdemo" domainObjectName="user" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>

 

 后面操作就和方式一相同了。

Run→Edit Configurations.,选择左上角“+”添加maven,然后选择maven,配置Command line。

后运行一下此处填写名称(nnn)的生成实体类程序。run(maven中填写的配置名称,nnn)。

运行之后,如果不出意外,实体类创建成功。

 方式二结果如下:

 

 

 最后,dao中的类都需要添加一个mapper注解。(解决controller扫描不到mapper包的问题)

或者在controller类上添加@MapperScan("com.example.bootmybatis.dao")

 

 

附加链接:https://blog.csdn.net/weixin_42685022/article/details/82215893

posted on 2019-11-14 12:45  茫无所知  阅读(1429)  评论(0编辑  收藏  举报