IDEASpringBoot集成MyBatis + Generator代码生成工具的配置教程


这篇用来给自己配置springBoot+myBatis做的一些笔记,所以仅为了让自己看懂为目标而记录,所以如果大家看不是很懂,或者讲解不是很清晰的话可以移步其他博主的博文哈。

环境:IDE:IDEA 数据库:mysql

直接开始吧。

1.新建项目

从IDEA新建一个Spring Initializr项目:然后点击next
在这里插入图片描述
其中:GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构,ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。如果只是学习安装的话可以按默认名就行了。
在这里插入图片描述
选择自己所需要的依赖配置。我们搭建的是简单的web项目,首先勾选spring web Starter
在这里插入图片描述
我们用的是mySQL数据库,以及myBatis框架,所以勾选下面两个。
在这里插入图片描述
新建完成,POM文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2. 配置文件

你会发现左边文件栏中有一个全局的配置文件application.properties,可以在里面贴上常用的配置属性,详细理解可以参考:

springBoot中  application.properties理解

我习惯用application.yml代替application.properties(yml文件可以省略掉properties中的大量的路径前缀,结构看上去也比较清晰,反正springBoot最后也会把yml文件转换成properties,为什么不用yml呢ヾ(≧▽≦*)o)
通过与配置文件相同的命名规范,创建 application-{profiles}.yml 文件 存放不同环境的参数。
如:

  • application-dev.yml为开发环境
  • application-test.yml为测试环境
  • application-prod.yml为生产环境

然后由application.yml里调整哪个环境。

可参照:application.yml 文件拆分

将application.properties删掉,新创两个文件:application.yml和application-dev.yml
application.yml

spring:
  profiles:
    active: dev

application-dev.yml

# application.yml
server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/user?useUnicode=true&useJDBCCompliantTimezoneShift=true&serverTimezone=UTC
    username: root
    password: 123
    driver-class-name: com.mysql.jdbc.Driver

mybatis:
  type-aliases-package: com.example.entity
  mapper-locations: classpath:mapping/*Mapper.xml



#showSql
logging:
  level:
    com:
      example:
        mapper : debug

然后在java目录下创建controller包,entity包,mapper包,service包,
在resources下创建一个mapping包,结构如下所示:
在这里插入图片描述
记得DemoApplication要和包放在同一层目录下,不然SpringBoot会扫描不到包内的文件位置。

3.使用 MyBatis Generator逆向工程生成实体类,mapper接口以及xml映射文件

先在mysql里找一个用于项目的的数据库表。我建了个简单的账户密码表。
在这里插入图片描述
DDL语句:

CREATE TABLE `user` (
  `user_name` varchar(20) NOT NULL DEFAULT '',
  `password` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`user_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

数据库建完之后,我们来配置myBatis Generator插件。
在pom.xml文件中,找到下面这串代码
在这里插入图片描述
在plugins中添加插件

<!--反向工具插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>

然后在resources中创建generatorConfig.xml和generator.properties配置文件在这里插入图片描述
代码如下:
generatorConfig.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>
	<!-- 配置文件路径 -->
	<properties resource="generator.properties" />

	<!--数据库驱动包路径 -->
	<classPathEntry location="${drive.class.path}" />

	<context id="MySQLTables" targetRuntime="MyBatis3">
		<!--关闭注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
			<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->
		</commentGenerator>

		<!--数据库连接信息 -->
		<jdbcConnection driverClass="${jdbc.driver}"
			connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}">
		</jdbcConnection>

		<!--生成的model 包路径 -->
		<javaModelGenerator targetPackage="${model.package}"
			targetProject="${target.project.java}">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!--生成xml mapper文件 路径 -->
		<sqlMapGenerator targetPackage="${xml.mapper.package}"
			targetProject="${target.project.resources}">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- 生成的Dao接口 的包路径 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="${dao.package}" targetProject="${target.project.java}">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<!--对应数据库表名 -->
		<!-- <table tableName="msgboard" domainObjectName="Msg"
			enableCountByExample="false" enableDeleteByExample="false"
			enableSelectByExample="false" enableUpdateByExample="false">
			如果设置为true,生成的entity类会直接使用column本身的名字,而不会再使用驼峰命名方法,比如BORN_DATE_Time,生成的属性名字就是BORN_DATE,而不会是bornDateTime
			<property name="useActualColumnNames" value="true" />
			忽略列,不生成bean 字段
			<ignoreColumn column="FRED" />
			指定列的java数据类型
			<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
		</table> -->
		<table tableName="user" domainObjectName="User"
			enableCountByExample="false" enableDeleteByExample="false"
			enableSelectByExample="false" enableUpdateByExample="false">
			<property name="useActualColumnNames" value="true" />
		</table>
	</context>
</generatorConfiguration>

其中
在这里插入图片描述
其余的属性我们暂时先用不到,如果想要了解可以看看这篇博客:

myBatis generator中文工具文档

generator.properties

# jdbc
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123

#dbcp
initialSize=0   
maxActive=10  
maxIdle=10   
minIdle=1  
maxWait=60000 

#mybatis generator
drive.class.path=G:/JAVAclass/apache-maven-3.6.0/maven-repository/mysql/mysql-connector-java/5.1.19/mysql-connector-java-5.1.19.jar
model.package=com.example.demo.entity
dao.package=com.example.demo.mapper
xml.mapper.package=mapping
target.project.java=G:/IdeaProjects/myBatisByMyBlog/src/main/java
target.project.resources=G:/IdeaProjects/myBatisByMyBlog/src/main/resources

其中
在这里插入图片描述
在这里插入图片描述
包名和路径按照自己电脑的需求更改。
创建完文件后,点击 Run→ Edit configuration
在这里插入图片描述
点击左上角的加号,选择maven,填写右边的信息(主要就名称、工作文件夹和命令行,命令行固定格式:mybatis-generator:generate -e)
在这里插入图片描述
创建完后点击最右侧有一栏maven栏,如果run configuration添加成功的话会有下图这样的run configuration选项。
在这里插入图片描述
右键运行,控制台显示生成文件(log4j的警告提示不用管)
在这里插入图片描述
然后点开左侧的工作文件栏,可以看到实体类、mapper接口和映射文件都生成了在这里插入图片描述

4. 测试:查询数据库中的信息

   在controller包中创建一个TestUser类,代码如下:

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestUser {
    @Autowired
    UserMapper userMapper;

    @RequestMapping("/testUser")
    public User testUser(){
        User user =userMapper.selectByPrimaryKey("cancer");
        return user;
    };
}

然后运行DemoAppllication在这里插入图片描述启动服务端
打开浏览器,在url地址输入http://localhost:8080/testUser
在这里插入图片描述
成功获取数据库内信息。

这样下来一套的springboot+mybatis+generator生成工具的配置就完成了。

这篇博客就是记录一下自己学习过程以及练手,如果有问题的话可以在评论里探讨一哈,如果没人看的话就算啦。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
智慧农业是一种结合了现代信息技术,包括物联网、大数据、云计算等,对农业生产过程进行智能化管理和监控的新模式。它通过各种传感器和设备采集农业生产中的关键数据,如大气、土壤和水质参数,以及生物生长状态等,实现远程诊断和精准调控。智慧农业的核心价值在于提高农业生产效率,保障食品安全,实现资源的可持续利用,并为农业产业的转型升级提供支持。 智慧农业的实现依赖于多个子系统,包括但不限于设施蔬菜精细化种植管理系统、农业技术资料库、数据采集系统、防伪防串货系统、食品安全与质量追溯系统、应急追溯系统、灾情疫情防控系统、农业工作管理系统、远程诊断系统、监控中心、环境监测系统、智能环境控制系统等。这些系统共同构成了一个综合的信息管理和服务平台,使得农业生产者能够基于数据做出更加科学的决策。 数据采集是智慧农业的基础。通过手工录入、传感器自动采集、移动端录入、条码/RFID扫描录入、拍照录入以及GPS和遥感技术等多种方式,智慧农业系统能够全面收集农业生产过程中的各种数据。这些数据不仅包括环境参数,还涵盖了生长状态、加工保存、检验检疫等环节,为农业生产提供了全面的数据支持。 智慧农业的应用前景广阔,它不仅能够提升农业生产的管理水平,还能够通过各种应用系统,如库房管理、无公害监控、物资管理、成本控制等,为农业生产者提供全面的服务。此外,智慧农业还能够支持政府监管,通过发病报告、投入品报告、死亡报告等,加强农业产品的安全管理和质量控制。 面对智慧农业的建设和发展,存在一些挑战,如投资成本高、生产过程标准化难度大、数据采集和监测的技术难题等。为了克服这些挑战,需要政府、企业和相关机构的共同努力,通过政策支持、技术创新和教育培训等手段,推动智慧农业的健康发展。智慧农业的建设需要明确建设目的,选择合适的系统模块,并制定合理的设备布署方案,以实现农业生产的智能化、精准化和高效化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值