IDEA创建springBoot项目+连接mysql+整合Mybatis+MybatisGenerator |
您所在的位置:网站首页 › ideaspringboot版本添加 › IDEA创建springBoot项目+连接mysql+整合Mybatis+MybatisGenerator |
前言 本文在前人博客的基础上做了修改和整合,用以记录IDEA创建springBoot项目整合Mybatis以及mybatisGenerator工具的使用过程。 IDEA连接mysql,原文连接:参考博客1 springBoot项目整合Mybatis,原文链接:参考博客2 MybatisGenerator工具的使用,原文链接:参考博客3 一、创建springboot项目 1.创建springboot项目点击菜单栏 File _> new project ,进入如下页面,参照图片设置好后,点击next 进入cmd,输入如下命令: mysql -u root -p 再输入密码登录mysql 创建数据库命令 create database databaseTest2; 可参考:https://blog.csdn.net/dc_young/article/details/132141166 数据库连接成功后,右键点击数据库名,新建Query console窗口,创建用户表,用于后续测试mybatis是否配置成功 上图的启动程序没有启动按钮,因为不是maven项目(可能是因为没有关闭省电模式),依赖未导入。正确的maven项目应该是下图这样的 变Maven项目 关闭省电模式 在dependencies上一行引入相关依赖 在build下一行引入相关资源路径 在java/resources下创建db.properties文件 mysql.driver=com.mysql.cj.jdbc.Driver mysql.username=root mysql.password=123456 mysql.url=jdbc:mysql://localhost:3306/databaseTest2?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false在java/resources下创建MybatisConfig.xml文件 entity 包下的 User 类,用于封装 User 对象的属性 package com.example.entity; public class User { private int uid; private String uname; private int uage; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public int getUage() { return uage; } public void setUage(int uage) { this.uage = uage; } } 11.创建映射文件Mapper 文件夹下的 UserMapper.xml 文件(即映射文件)。 注意配置实体类路径:namespace参数和resultType参数 每次新建一个实体类就要创建一个映射文件,由于创建映射文件不会提供头部声明,复制粘贴起来也很麻烦,所以这里我们可以通过创建一个映射文件模板的方式,新建映射文件。(当然不影响本项目,你可以不创建,只不过为了方便) 具体步骤,File → Settings → Editor → File and Code Templates → 加号 复制我的代码进去: DOCTYPE mapper PUBLIC "-//mybatis.org//DTD mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">别忘了 Apply,下次需要可直接在选项卡中看到 mapperxml! 将映射文件的路径添加到 mybatis配置文件中 (将UserMapper.xml 的路径添加到 MybatisConfig.xml 中) 继续打开我们前面已经创建好的 MybatisConfig.xml 文件,现在我们给它配置文件路径,至于刚刚为什么没有配置,是因为这个路径就是映射文件所在的位置,所以我们先把映射文件编写完再返回来给 MybatisConfig.xml 设置路径。 14.编写测试类 注意:如果报错:Could not find resource MybatisConfig.xml问题:测试类启动,报错:Could not find resource MybatisConfig.xml 原因: 1.resources文件夹下 没有MybatisConfig.xml文件(MybatisConfig.xml文件路径不对) 2.resources文件夹没有被标记为资源根目录 解决: 1.MybatisConfig.xml文件放到resources文件夹下 2.如果MybatisConfig.xml文件已经resources文件夹下,且resources文件夹没有如图黄色块标识(资源根目录标识),则将其添加为资源根目录。 官网的MyBatis Generator使用介绍,请点击下面的链接: 链接 MyBatis Generator 生成的文件包含三类: (1)Model实体文件,一个数据库表对应生成一个 Model 实体; (2)Mapper接口文件,数据数操作方法都在此接口中定义; (3)Mapper XML配置文件 (二)、使用步骤 1.引入MyBatis Generator相关依赖在pom.xml文件添加如下依赖: org.mybatis.generator mybatis-generator-core 1.3.7 2.配置MybatisGeneratorConfig.xml文件代码如下(示例): DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 3.创建MyBatisGenerator类在src/main/java/com/example/下创建util文件夹,并在util下创建MyBatisGenerator类 MyBatisGenerator.java 代码如下 package com.example; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.InputStream; import java.util.ArrayList; import java.util.List; public class MyBatisGenerator { public static void main(String[] args) throws Exception { //MBG 执行过程中的警告信息 List warnings = new ArrayList(); //当生成的代码重复时,覆盖原代码 boolean overwrite = true; //读取我们的 MBG 配置文件 InputStream is = MyBatisGenerator.class.getResourceAsStream("/MybatisGeneratorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(is); is.close(); DefaultShellCallback callback = new DefaultShellCallback(overwrite); //创建 MBG org.mybatis.generator.api.MyBatisGenerator myBatisGenerator = new org.mybatis.generator.api.MyBatisGenerator(config, callback, warnings); //执行生成代码 myBatisGenerator.generate(null); //输出警告信息 for(String warning : warnings){ System.out.println(warning); } } }执行代码,然后刷新目录就可以看到生成的类以及xml了 。 4.注意: 1.如果代码执行失败,且报错如下: org.apache.ibatis.exceptions.PersistenceException : ### Error building SqlSession. ### The error may exist in com/erp/webservice/mapper/UsersMapper.xml ### The error occurred while processing mapper_resultMap[BaseResultMap] ···原因:运行了多次自动生成代码的程序,导致了resources/Mapper/Users2Mapper.xml 的内容多出来很多,原来自动生成代码的时候生成的XML代码不是覆盖原来的,而是附加的XML的尾部的。 解决办法: 只要删掉原来的Users2Mapper.XML,然后重新运行自动生成代码的程序即可。 2.如果代码执行成功,但项目目录没有看到申城的类和xml,可能是IDEA没有自动更新目录,需手动更新。更新目录方式: 1.更新整个项目目录:左上角菜单栏file -> Reload ALL from Disk 2.更新指定文件夹目录:右键指定文件夹 -> Reload from Disk (三)、测试 1.数据库建表在src/main下创建文件夹sql,在sql文件夹下创建mysqlCode.sql文件,并复制如下sql代码 点击“use MySQL” 在src/test/java路径下创建 User2Test.java文件 执行测试类,查询出如下数据说明 MybatisGenerator工具配置成功 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |