mybatis 大于_真赞!IDEA中可以这么玩MyBatis,让编码速度飞起!
作者: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,让编码速度飞起!相关推荐
- idea jdbc封装_真赞!IDEA 中这么玩 MyBatis,让编码速度飞起!
1. 搭建 MyBatis Generator 插件环境 a. 添加插件依赖 pom.xml b. 配置文件 generatorConfig.xml c. 数据库配置文件 jdbc.propertie ...
- 真赞!IDEA中这么玩MyBatis,让编码速度飞起!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 IDEA 逆向 MyBatis 工程时,不像支持 Hibernat ...
- if mybatis or test_真赞!IDEA中这么玩MyBatis,让编码速度飞起
IDEA 逆向 MyBatis 工程时,不像支持 Hibernate 那样有自带插件,需要集成第三方的 MyBatis Generator. # 搭建 MyBatis Generator 插件环境 a ...
- python socket自动重连_详解python3中socket套接字的编码问题解决
一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...
- java string设置编码_详解Java中String类型与默认字符编码
为什么写这个 至于为什么要写这个,主要是一句mmp一定要讲,绕了一上午,晕死 Java程序中的中文乱码问题一直是一个困扰程序员的难题,自己也不例外,早在做项目时就遇到过很多编码方式的坑,当时想填来着, ...
- mybatis 大于_酸爽!IDEA 中这么玩 MyBatis,让编码速度飞起!
作者:Orson cnblogs.com/java-class/p/6237564.html 1. 搭建 MyBatis Generator 插件环境 a. 添加插件依赖 pom.xml b. 配置文 ...
- 电脑怎么打字切换中文_五个练习打字的网站,让你的速度飞起
相信现在还是有很多人打字靠『二指禅』,但这种打字方式效率还是有点低下.如果想尽快提升效率,还是尽快学会全键位盲打吧. 如果你在网上问,到底该怎么提高打字速度? 常见的回答都是这样,在QQ上找人聊天就好 ...
- boot spring 没有父子容器_理解 MyBatis 是如何在 Spring 容器中初始化的
MyBatis 初始化过程就是 生成一些必须的对象放到 Spring 容器中 .问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确的找到分析问题的切入点?本文将针对这些问 ...
- mybatis 配置_配置Mybatis在Spring Boot工程中的整合
配置Mybatis在Spring Boot工程中的整合包,设置mybatis的实体类别名,输出执行sql语句配置项. 分析: 添加启动器依赖: 配置Mybatis:实体类别名包,日志,映射文件等: 配 ...
最新文章
- 测试音质好坏的软件,音响音质的好坏简单的两招测出
- 2021大数据1班《Python程序设计基础》学生学期总结
- 机器学习1.2 ---参数学习
- wps 选择 高亮_简单实用:一组WPS表格技巧
- fabricjs上手指南
- 简单好用的照片恢复软件推荐
- 在Windows系统上安装PHP工作环境
- 已知圆上两点坐标和半径求圆心
- 元胞自动机及其MATLAB实例
- 一路走来之“华为网络技术大赛”(新含2018年资料)
- 软件工程基础知识-软件质量
- Java程序员笔试面试之String5
- 【记录】非常实用,Python编码规范的一些建议(1)
- 华为天猫官方旗舰店粉丝突破一千万
- Rapidly-Exploring Random Trees(RRT)
- 顺序表类的声明java_顺序表实现解约瑟夫环_Java
- 【算法岗求职笔记】降维 · 五问五答
- 那些值得一看的数学电影!
- python爬取哔哩哔哩网站数据以及弹幕
- position属性:absolute
热门文章
- 为什么电脑插上网线半天才有网,是路由器的的问题吗?
- 出现问题protected:void __thiscall CTalkCDlg::OnIdok(void)(?OnIdok@CTalkDlg@@IAEXXZ)?
- zabbix-通过自动注册自动添加主机
- Build tool
- python爬虫播放mp3
- 『诡异的』VL10B创建外向交货单出错解决全过程
- 2016年1月20日总结
- ListView 和 GridView应用详解-----本文转自博客园
- 参数返回Oracle 常用函数:nvl/nullif/case when/wm_concat/replace
- 游戏里的---Change