mybatis generator

让MyBatis Generator产生的Mapper更简洁

早过忘川 提交于 2020-05-02 04:45:55
本文提供一种方法,目标是让MyBatis Generator产生的Mapper更简洁。 主要体现在如下几个方面: 有一个BaseMapper(自己编写) 所有产生的Mapper 继承BaseMapper , 无需每个Mapper都要定义好多接口方法 除了产生的Mapper有改动之外,其余自动产生的Entity、Example、XML文件保持不变 背景 不同Mapper的内容比较 比如,我们建立两个测试表,一个是 t_user , 一个是 t_news 。其建表语句如下: CREATE TABLE `t_user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(64) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; CREATE TABLE `t_news` ( `news_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(150) NOT NULL, `content` text NOT NULL, `brief_intro` varchar(255)

SpringBoot进阶教程(六十一)intellij idea project下建多个module搭建架构(下)

ぃ、小莉子 提交于 2020-05-01 02:50:52
在上一篇文章《 SpringBoot进阶教程(六十)intellij idea project下建多个module(上) 》中,我们已经介绍了在intellij idea中创建project之后再分化多个module,今天再大致介绍介绍各个module之间详细工作的细分。 如果是不考虑细分多个module的话,可以看看这篇文章《 SpringBoot入门教程(一)详解intellij idea搭建SpringBoot 》。 v 设计数据库 CREATE TABLE `useraccount` ( `id` int ( 10 ) unsigned NOT NULL AUTO_INCREMENT, `username` varchar ( 255 ) NOT NULL , `age` int ( 10 ) NOT NULL , `phone` bigint NOT NULL , `email` varchar ( 255 ) NOT NULL , `account` varchar ( 100 ) NOT NULL UNIQUE , `pwd` varchar ( 255 ) NOT NULL , PRIMARY KEY (`id`) )ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8; insert into

idea使用maven整合ssm框架

三世轮回 提交于 2020-04-29 20:33:00
本文为学习笔记,直接复制粘贴了网上大量资源,参考内容以下给出地址链接,侵删。 参考博客: idea中搭建基于maven的ssm整合框架 解决idea新建maven项目时一直loading问题 maven中GroupID 和ArtifactID怎么写 Spring MVC welcome-file-list 问题 Mybatis-mybatis自动生成代码提示"Cannot obtain primary key information from ..."解决方案 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转) 1.利用maven创建web项目 file->new->new project,选择maven。 这里可能会遇到archetype一直加载的问题。原因:idea一直读自己的配置里缓存导致的。 archetype一直加载的问题解决如下: option 1: 打开:Setting---->Build Tools → Maven → Importing VM options for importer 的值改为 -Xmx1024m。 option 2: C:\Users\Administrator.IntelliJIdea2016.1\system\Maven(或者C:\Users\hc001.IntelliJIdea2016.1

电商项目实战(架构一)——SpringBoot+MyBatis搭建基本骨架

﹥>﹥吖頭↗ 提交于 2020-04-29 12:52:14
一、前言   开发一个项目,最开始的一步就是搭建一个开发环境,也就是需要选择什么框架进行项目的开发,本次搭建一个springboot+mybatis的开发框架,通过实现商品品牌的增删改查,测试搭建是否成功。 二、框架介绍   本次使用四个框架分别是:SpringBoot(SpringBoot可以快速搭建web应用程序,内置多种Web容器,如Tomcat),Mybatis + PagerHelper(mybatis自带的分页插件),Druid(阿里巴巴开源的数据库连接池),Mybatis Generator(Mybatis的代码生成器,可以根据数据库表自动生成model、mapper.java、mapper.xml、example)。 三、内容   1、新建一个springboot的module      项目目录组成      2、添加pom文件的依赖 < dependencies > <!-- SpringBoot通用依赖模块 --> < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-web </ artifactId > </ dependency > < dependency > < groupId > org

MyBatis 注解开发+逆向(Generator)

我只是一个虾纸丫 提交于 2020-04-19 05:42:29
注解开发 最初设计时,MyBatis 是一个 XML 驱动的框架。配置信息是基于 XML 的,而且映射语句也是定义在 XML 中的。随着技术的更新发展,对于开发效率要求也原来越高,特别是一些小型项目;越来越多的框架开始支持注解, 到MyBatis3时,MyBatis对注解有了完善的支持,利用注解可以在一些情况下提高开发效率 <span style="color:gray">但不幸的是,Java 注解的的表达力和灵活性十分有限。尽管很多时间都花在调查、设计和试验上, 最强大的 MyBatis 映射并不能用注解来构建</span> 1. select 接口方法声明: import com.yyh.pojo.User; import org.apache.ibatis.annotations.Select; public interface UserMapper2 { @Select("select * from kuser where id = #{id}") public User selectUserByID(int id); } 测试方法: @Test public void selectTest(){ SqlSession session = factory.openSession(); UserMapper2 mapper = session.getMapper

通过命令行方式利用mybatis-generator连接Oracle快速生成代码

旧城冷巷雨未停 提交于 2020-04-18 05:47:27
环境说明:Oracle 11g 、Mybatis 3.4.6 任意位置新建autoMybatis文件夹,文件夹中新建generator.xml文件,代码如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <! DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 6 <generatorConfiguration> 7 <!-- classPathEntry:数据库的JDBC驱动--> 8 <classPathEntry location="电脑上ojdbc6.jar文件的绝对路径" /> 9 <context id="deDault" targetRuntime="MyBatis3"> 10 11 <!-- 去掉自动生成的注释--> 12 <commentGenerator> 13 <property name="suppressAllComments" value="true" /> 14 </commentGenerator> 15 16 <!--

让MyBatis Generator产生的代码支持分页

删除回忆录丶 提交于 2020-04-10 13:20:33
本文提供一种方法,让MyBatis Generator产生的代码支持分页, 适用于MySQL。 分析 如果要获取分页信息,使用MySQL语句,我们需要怎么做呢? select * from t_user limit 0 , 2 在MySQL系统中,如果要完成一个分页,我们需要指定 limit 的值,也就是需要指定两个数,第一个指定从什么地方开始(示例中为0);另一个指定需要获取多少条数据(示例中为2)。 问题转化 如果要使得产生的 自动产生的代码 具备分页功能的话,那么, Mapper对应的XML中 , select 语句需要多增加两个属性值,比如: limitStart ( 指定从什么位置开始查找 ) limitSize ( 指定找到多少条数据 ) 何处添加 上述已经提到需要两个值 limitStart 和 limitSize ,那么, 我们需要添加在哪里才能有效果呢 ? 以t_news表为例,创建表的SQL语句如下: CREATE TABLE `t_news` ( `news_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(150) NOT NULL, `content` text NOT NULL, `brief_intro` varchar(255) DEFAULT NULL, `pic_url` varchar

聊一聊MyBatis 和 SQL 注入间的恩恩怨怨

筅森魡賤 提交于 2020-03-04 12:19:03
整理了一些Java方面的架构、面试资料(微服务、集群、分布式、中间件等),有需要的小伙伴可以关注公众号【程序员内点事】,无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 面试总被问分库分表怎么办?你可以这样怼他 3万字总结,Mysql优化之精髓 为了不复制粘贴,我被逼着学会了JAVA爬虫 技术部突然宣布:JAVA开发人员全部要会接口自动化测试框架 Redis 5种数据结构及对应使用场景,全会面试要加分的 引言 MyBatis 是一种持久层框架,介于 JDBC 和 Hibernate 之间。通过 MyBatis 减少了手写 SQL 语句的痛苦,使用者可以灵活使用 SQL 语句,支持高级映射。但是 MyBatis 的推出不是只是为了安全问题,有很多开发认为使用了 MyBatis 就不会存在 SQL 注入了,真的是这样吗? 使用了 MyBatis 就不会有 SQL 注入了吗? 答案很明显是 NO。 MyBatis它只是一种持久层框架,它并不会为你解决安全问题。当然,如果你能够遵循规范,按照框架推荐的方法开发,自然也就避免 SQL 注入问题了。本文就将 MyBatis 和 SQL 注入这些恩恩怨怨掰扯掰扯。(注本文所说的 MyBatis 默认指的是 Mybatis3) 技术背景 写本文的起源主要是来源于内网发现的一次 SQL 注入。我们发现内网的一个请求的

开源商城开发笔记4-配置MyBatis生成代码

£可爱£侵袭症+ 提交于 2020-02-28 06:55:36
本项目基于SpringBoot开发,引入的是mybatis-spring-boot 1、引入依赖,包括spring-boot,mybatis,druid,junit,log4j 2.配置MyBatis-Generator插件,使用Maven插件的方式生成代码 3.配置MyBatis 4.配置MyBatis-Generator 5.运行插件,生成代码 注: 本系列代码存放在码云上面,前后端全部开源,无使用限制。 源码地址:https://gitee.com/gintone/GTOpenShop.git 来源: oschina 链接: https://my.oschina.net/u/173975/blog/3175909

mybatis-generator-maven-plugin:Communications link failure

一笑奈何 提交于 2020-02-27 10:56:06
使用 mybatis-generator 的 maven 插件可能会报出如下问题 Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project MyProject: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 一般来说,这种情况是数据库url写错了 来源: oschina 链接: https://my.oschina.net/hengbao666/blog/3175933