作者:Orson

来源:cnblogs.com/java-class/p/6237564.html

IDEA 逆向 MyBatis 工程时,不像支持 Hibernate 那样有自带插件,需要集成第三方的 MyBatis Generator。

MyBatis Generator的详细介绍 http://mybatis.github.io/generator/index.html

本篇博客图解 MyBatis Generator 的使用过程,并结合实战说明逆向工程的使用方式。

搭建 MyBatis Generator 插件环境

a. 添加插件依赖 pom.xml

<plugin>     <groupId>org.mybatis.generatorgroupId>     <artifactId>mybatis-generator-maven-pluginartifactId>     <version>1.3.2version>     <configuration>        <configurationFile>src/main/resources/generatorConfig.xmlconfigurationFile>        <verbose>trueverbose>        <overwrite>trueoverwrite>     configuration>     <executions>        <execution>           <id>Generate MyBatis Artifactsid>        execution>     executions>     <dependencies>        <dependency>          <groupId>org.mybatis.generatorgroupId>          <artifactId>mybatis-generator-coreartifactId>          <version>1.3.2version>        dependency>     dependencies>plugin>

b.配置文件 generatorConfig.xml

xml version="1.0" encoding="UTF-8"?>br mpa-from-tpl="t"  />        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration>    <properties resource="jdbc.properties"/>    <classPathEntry location="${jdbc_driverLocation}"/>

    <context id="default" targetRuntime="MyBatis3">

        <commentGenerator>            <property name="suppressDate" value="true"/>            <property name="suppressAllComments" value="true"/>        commentGenerator>

        <jdbcConnectiondriverClass="${jdbc_driverClass}"connectionURL="${jdbc_url}"userId="${jdbc_user}"password="${jdbc_pwd}">        jdbcConnection>

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

        <javaModelGenerator targetPackage="com.rambo.sdm.dao.pojo" targetProject="src/main/java">

            <property name="enableSubPackages" value="false"/>

            <property name="constructorBased" value="true"/>

            <property name="trimStrings" value="true"/>

            <property name="immutable" value="false"/>        javaModelGenerator>

        <sqlMapGenerator targetPackage="com.rambo.sdm.dao.mapper" targetProject="src/main/java">            <property name="enableSubPackages" value="false"/>        sqlMapGenerator>

        <javaClientGenerator targetPackage="com.rambo.sdm.dao.inter" targetProject="src/main/java" type="XMLMAPPER">            <property name="enableSubPackages" value="true"/>        javaClientGenerator>

        <table tableName="user" domainObjectName="UserPO">            <generatedKey column="uuid" sqlStatement="SELECT REPLACE(UUID(),'-','') UUID FROM DUAL"/>        table>    context>generatorConfiguration>

c.数据库配置文件 jdbc.properties

jdbc_driverLocation=D:\\Program Files\\Repository\\mysql\\mysql-connector-java\\5.1.38\\mysql-connector-java-5.1.38.jarjdbc_driverClass=com.mysql.jdbc.Driverjdbc_url=jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8jdbc_user=rootjdbc_pwd=123456validationQuery = select 1

d. 配置插件启动项

项目实战

User类就是普通的实体类,定义了数据库对应的字段,以及set/get方法。Mybatis 引入了 Example 类,用来封装数据库查询条件。

a.比如在一个项目 我们要删除某个小组下某个用户的信息

public int deleteUserApplyInfo(long user_id,long team_id){        StudyTeamUserApplyInfoExample ue = new StudyTeamUserApplyInfoExample();        ue.createCriteria().andUserIdEqualTo(new BigDecimal(user_id)).andTeamIdEqualTo(new BigDecimal(team_id));        return studyTeamUserApplyInfoDAO.deleteByExample(ue);}

b.根据小组ID(非主键 更新小组信息)

public int updateStudyTeamInfo(StudyTeamInfo st){        StudyTeamInfoExample ste = new StudyTeamInfoExample();        ste.createCriteria().andTeamIdEqualTo(st.getTeamId());        return studyTeamInfoDAO.updateByExampleSelective(st,ste);}

c.其它

(1)模糊查询并且排序

public List getStudyTeamInfoByName(String team_name){        StudyTeamInfoExample se = new StudyTeamInfoExample();        se.createCriteria().andTeamNameLike("%"+team_name+"%").andEnableEqualTo((short)1);        se.setOrderByClause("team_score desc");List ls = studyTeamInfoDAO.selectByExample(se);if(ls!=null&&ls.size()>0){return ls;        }return null;    }

(2)大于等于某个分数 并且小于某个分数的查询

public StudyTeamLevel getStudyTeamLevel(long score){        StudyTeamLevelExample le = new StudyTeamLevelExample();        le.createCriteria().andNeedScoreLessThanOrEqualTo(score).andUpScoreGreaterThan(score);        List ls = studyTeamLevelDAO.selectByExample(le);if(ls!=null&&ls.size()>0){return ls.get(0);        }return null;}

  • 海量的超赞 Linux 软件

  • MySQL中,当update修改数据与原数据相同时会再次执行吗?

  • 大公司为什么都有API网关?聊聊API网关的作用

  • String存放在堆中还是栈中?5年的Java照样说不清楚!

好文章,我在看

mybatis 大于_真赞!IDEA中可以这么玩MyBatis,让编码速度飞起!相关推荐

  1. idea jdbc封装_真赞!IDEA 中这么玩 MyBatis,让编码速度飞起!

    1. 搭建 MyBatis Generator 插件环境 a. 添加插件依赖 pom.xml b. 配置文件 generatorConfig.xml c. 数据库配置文件 jdbc.propertie ...

  2. 真赞!IDEA中这么玩MyBatis,让编码速度飞起!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 IDEA 逆向 MyBatis 工程时,不像支持 Hibernat ...

  3. if mybatis or test_真赞!IDEA中这么玩MyBatis,让编码速度飞起

    IDEA 逆向 MyBatis 工程时,不像支持 Hibernate 那样有自带插件,需要集成第三方的 MyBatis Generator. # 搭建 MyBatis Generator 插件环境 a ...

  4. python socket自动重连_详解python3中socket套接字的编码问题解决

    一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...

  5. java string设置编码_详解Java中String类型与默认字符编码

    为什么写这个 至于为什么要写这个,主要是一句mmp一定要讲,绕了一上午,晕死 Java程序中的中文乱码问题一直是一个困扰程序员的难题,自己也不例外,早在做项目时就遇到过很多编码方式的坑,当时想填来着, ...

  6. mybatis 大于_酸爽!IDEA 中这么玩 MyBatis,让编码速度飞起!

    作者:Orson cnblogs.com/java-class/p/6237564.html 1. 搭建 MyBatis Generator 插件环境 a. 添加插件依赖 pom.xml b. 配置文 ...

  7. 电脑怎么打字切换中文_五个练习打字的网站,让你的速度飞起

    相信现在还是有很多人打字靠『二指禅』,但这种打字方式效率还是有点低下.如果想尽快提升效率,还是尽快学会全键位盲打吧. 如果你在网上问,到底该怎么提高打字速度? 常见的回答都是这样,在QQ上找人聊天就好 ...

  8. boot spring 没有父子容器_理解 MyBatis 是如何在 Spring 容器中初始化的

    MyBatis 初始化过程就是 生成一些必须的对象放到 Spring 容器中 .问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确的找到分析问题的切入点?本文将针对这些问 ...

  9. mybatis 配置_配置Mybatis在Spring Boot工程中的整合

    配置Mybatis在Spring Boot工程中的整合包,设置mybatis的实体类别名,输出执行sql语句配置项. 分析: 添加启动器依赖: 配置Mybatis:实体类别名包,日志,映射文件等: 配 ...

最新文章

  1. 测试音质好坏的软件,音响音质的好坏简单的两招测出
  2. 2021大数据1班《Python程序设计基础》学生学期总结
  3. 机器学习1.2 ---参数学习
  4. wps 选择 高亮_简单实用:一组WPS表格技巧
  5. fabricjs上手指南
  6. 简单好用的照片恢复软件推荐
  7. 在Windows系统上安装PHP工作环境
  8. 已知圆上两点坐标和半径求圆心
  9. 元胞自动机及其MATLAB实例
  10. 一路走来之“华为网络技术大赛”(新含2018年资料)
  11. 软件工程基础知识-软件质量
  12. Java程序员笔试面试之String5
  13. 【记录】非常实用,Python编码规范的一些建议(1)
  14. 华为天猫官方旗舰店粉丝突破一千万
  15. Rapidly-Exploring Random Trees(RRT)
  16. 顺序表类的声明java_顺序表实现解约瑟夫环_Java
  17. 【算法岗求职笔记】降维 · 五问五答
  18. 那些值得一看的数学电影!
  19. python爬取哔哩哔哩网站数据以及弹幕
  20. position属性:absolute

热门文章

  1. 为什么电脑插上网线半天才有网,是路由器的的问题吗?
  2. 出现问题protected:void __thiscall CTalkCDlg::OnIdok(void)(?OnIdok@CTalkDlg@@IAEXXZ)?
  3. zabbix-通过自动注册自动添加主机
  4. Build tool
  5. python爬虫播放mp3
  6. 『诡异的』VL10B创建外向交货单出错解决全过程
  7. 2016年1月20日总结
  8. ListView 和 GridView应用详解-----本文转自博客园
  9. 参数返回Oracle 常用函数:nvl/nullif/case when/wm_concat/replace
  10. 游戏里的---Change