mybatis-generator 的坑我都走了一遍_import java.util.Scanner

mybatis-generator 的坑我都走了一遍_import java.util.Scanner环境​ 使用springboot2,jdk1.8,idea在pom引入相关依赖<!–mybatise-generator–><plugin><groupId

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

环境

​ 使用springboot2,jdk1.8,idea

在pom引入相关依赖

<!--mybatise-generator-->
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <!--在此处指定配置文件位置-->
        <configurationFile>src/main/resources/generatorConfig/generatorConfig.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
    <!--mybatise-generator-->
    <dependencies>
        <!--在此处引入所需依赖-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>
    </dependencies>
</plugin>

注意:

​ mybatis-generator版本如果和mysql差距過大,可能在生成代码的过程中引起报错

在Resource中配置配置文件

<?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>
    <!--注意这里的targetRuntime="MyBatis3Simple",指定了不生成Example相关内容-->
    <context id="MysqlTables" targetRuntime="MyBatis3Simple">

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- jdbc链接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8"
                        userId="root" password="123456">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 生成PO类的位置 -->
        <javaModelGenerator targetPackage="com.huang.po"
                            targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.party.community.template"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 指定要生成的表,主鍵,po类名 -->
        <table tableName="Admins" domainObjectName="Admins">
            <property name="useActualColumnNames" value="true"/>
            <generatedKey column="a_id" sqlStatement="MySql" identity="true"/>
        </table>

    </context>
</generatorConfiguration>

注意:

​ 1.存放生成代码的指定包或者文件夹可以不用提前建好,只要路径没错插件会顺便一起建好

​ 2.根指定路径的不同,部分生成代码可能会需要更改。比如映射配置文件,

​

​ namespace的生成是根据上面的配置而生成的,如果你在生成代码后还想要移动mapper的話,要记得修改对应路径

生成代码

mybatis-generator 的坑我都走了一遍_import java.util.Scanner

代开Maven菜单,点击Plugins里的mybatis-generator,即可自动生成

目录结构

mybatis-generator 的坑我都走了一遍_import java.util.Scanner

生成的代码

java代码

package com.party.community.po;

import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class User {
    private String u_idcard;

    private String u_unsername;

    private String u_tel;

    private String u_pwd;

    private String u_avator;

    private String u_sex;

    private Date u_birthday;

    private String u_history;

    private String u_remark;

    public String getU_idcard() {
        return u_idcard;
    }

    public void setU_idcard(String u_idcard) {
        this.u_idcard = u_idcard == null ? null : u_idcard.trim();
    }

    public String getU_unsername() {
        return u_unsername;
    }

    public void setU_unsername(String u_unsername) {
        this.u_unsername = u_unsername == null ? null : u_unsername.trim();
    }

    public String getU_tel() {
        return u_tel;
    }

    public void setU_tel(String u_tel) {
        this.u_tel = u_tel == null ? null : u_tel.trim();
    }

    public String getU_pwd() {
        return u_pwd;
    }

    public void setU_pwd(String u_pwd) {
        this.u_pwd = u_pwd == null ? null : u_pwd.trim();
    }

    public String getU_avator() {
        return u_avator;
    }

    public void setU_avator(String u_avator) {
        this.u_avator = u_avator == null ? null : u_avator.trim();
    }

    public String getU_sex() {
        return u_sex;
    }

    public void setU_sex(String u_sex) {
        this.u_sex = u_sex == null ? null : u_sex.trim();
    }

    public Date getU_birthday() {
        return u_birthday;
    }

    public void setU_birthday(Date u_birthday) {
        this.u_birthday = u_birthday;
    }

    public String getU_history() {
        return u_history;
    }

    public void setU_history(String u_history) {
        this.u_history = u_history == null ? null : u_history.trim();
    }

    public String getU_remark() {
        return u_remark;
    }

    public void setU_remark(String u_remark) {
        this.u_remark = u_remark == null ? null : u_remark.trim();
    }
}

生成的po,已写好get和set方法

package com.party.community.mapper;

import com.party.community.po.User;
import java.util.List;

public interface UserMapper {
    int deleteByPrimaryKey(String u_idcard);

    int insert(User record);

    User selectByPrimaryKey(String u_idcard);

    List<User> selectAll();

    int updateByPrimaryKey(User record);

    User selectByPhone(String phone);

}

xml映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.party.community.mapper.UserMapper" >
  <resultMap id="BaseResultMap" type="com.party.community.po.User" >
    <id column="u_idcard" property="u_idcard" jdbcType="VARCHAR" />
    <result column="u_unsername" property="u_unsername" jdbcType="VARCHAR" />
    <result column="u_tel" property="u_tel" jdbcType="VARCHAR" />
    <result column="u_pwd" property="u_pwd" jdbcType="VARCHAR" />
    <result column="u_avator" property="u_avator" jdbcType="VARCHAR" />
    <result column="u_sex" property="u_sex" jdbcType="VARCHAR" />
    <result column="u_birthday" property="u_birthday" jdbcType="TIMESTAMP" />
    <result column="u_history" property="u_history" jdbcType="VARCHAR" />
    <result column="u_remark" property="u_remark" jdbcType="VARCHAR" />
  </resultMap>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
    delete from user
    where u_idcard = #{u_idcard,jdbcType=VARCHAR}
  </delete>
  <insert id="insert" parameterType="com.party.community.po.User" >
    <selectKey resultType="java.lang.String" keyProperty="u_idcard" order="AFTER" >
      SELECT LAST_INSERT_ID()
    </selectKey>
    insert into user (u_unsername, u_tel, u_pwd, 
      u_avator, u_sex, u_birthday, 
      u_history, u_remark)
    values (#{u_unsername,jdbcType=VARCHAR}, #{u_tel,jdbcType=VARCHAR}, #{u_pwd,jdbcType=VARCHAR}, 
      #{u_avator,jdbcType=VARCHAR}, #{u_sex,jdbcType=VARCHAR}, #{u_birthday,jdbcType=TIMESTAMP}, 
      #{u_history,jdbcType=VARCHAR}, #{u_remark,jdbcType=VARCHAR})
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.party.community.po.User" >
    update user
    set u_unsername = #{u_unsername,jdbcType=VARCHAR},
      u_tel = #{u_tel,jdbcType=VARCHAR},
      u_pwd = #{u_pwd,jdbcType=VARCHAR},
      u_avator = #{u_avator,jdbcType=VARCHAR},
      u_sex = #{u_sex,jdbcType=VARCHAR},
      u_birthday = #{u_birthday,jdbcType=TIMESTAMP},
      u_history = #{u_history,jdbcType=VARCHAR},
      u_remark = #{u_remark,jdbcType=VARCHAR}
    where u_idcard = #{u_idcard,jdbcType=VARCHAR}
  </update>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select u_idcard, u_unsername, u_tel, u_pwd, u_avator, u_sex, u_birthday, u_history, 
    u_remark
    from user
    where u_idcard = #{u_idcard,jdbcType=VARCHAR}
  </select>
  <select id="selectAll" resultMap="BaseResultMap" >
    select u_idcard, u_unsername, u_tel, u_pwd, u_avator, u_sex, u_birthday, u_history, 
    u_remark
    from user
  </select>
  <select id="selectByPhone" resultType="User">
    select *
    from user
    where u_tel = #{phone}
  </select>


</mapper>

生成的mapper和映射文件,已经生成了基本的增删改查和根据主键查找的方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170839.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java集合篇:LinkedList源码分析

    Java集合篇:LinkedList源码分析

    2021年10月4日
  • Linux内核模块详解

    Linux内核模块详解内核模块实验目的内核模块是Linux操作系统中一个比较独特的机制。通过这一章学习,希望能够理解Linux提出内核模块这个机制的意义;理解并掌握Linux实现内核模块机制的基本技术路线;运用Linux提供的工具和命令,掌握操作内核模块的方法。实验内容针对三个层次的要求,本章安排了3个实验。第一个实验,编写一个很简单的内核模块。虽然简单,但它已经具备了内核模块的基本要素。与此同时,…

    2022年7月23日
  • 备份集中的数据库与现有数据库“XXX”数据库不同[通俗易懂]

    备份集中的数据库与现有数据库“XXX”数据库不同[通俗易懂]在做数据库相关的日常工作中,还原与备份数据库会经常遇到,有时候同样的sql2008备份的数据库,从别人那边备份的数据库文件,在自己的电脑上还原会出现:的错误。解决方法有两种:第一种:右键数据库点击还原数据库,填上需要还原的数据库名,就可以直接还原了。第二种:在新建的数据库上还原数据库时,选好备份文件后,勾选上覆盖现有数据库即可。

    2022年6月14日
  • pychrm激活码_通用破解码

    pychrm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
  • laravel中不使用 remember_token时退出报错,如何解决?

    laravel中不使用 remember_token时退出报错,如何解决?

    2021年10月28日
  • 地表最强app官网ios_地表最强app下载

    地表最强app官网ios_地表最强app下载1.全历史当你村里的二大爷,国外回来的Uncle刘想要和你交流交流历史时,没关系,查看这个App。从生命起源到现代文明,从东亚到北美洲,从政权到经济,从军事到民生,保证让你上知天文,下知地理,聊得你二大爷也很蒙圈。2.Canva朋友相聚怎么少的了拍照发朋友圈!Canva提供朋友圈拍照模板以及各种特效,可爱的,青春的,春节气氛的,统统都有。万一结个婚呢,还可以在上面做贺卡。3.美丽修行…

    2022年8月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号