电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

mybatis generator只能生成insert和selectAll的操作

瀏覽:18日期:2023-10-22 13:40:24

一般出現這個情況的時候,怎么辦?

第一步:不要慌,保持冷靜的思考和清醒的頭腦,這很關鍵!

第二步:打開瀏覽器,搜索一下:Cannot obtain primary key information from the database, generated objects may be incomplete這個錯誤,

遇到這種情況的時候,代碼生成器就只會生成insert和selectAll這兩個方法,這個時候需要在jdbc配置的connectionURL上加上一個參數:nullCatalogMeansCurrent=true。然后重新執行代碼生成器,就可以看到其他的方法都出現了。

mybatis generator只能生成insert和selectAll的操作

我的generatorConfig.xml配置如下(注意看connectionURL配置):

<?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> <classPathEntry location='D:iflytekmavenrepositorymysqlmysql-connector-java8.0.15mysql-connector-java-8.0.15.jar'/> <context targetRuntime='MyBatis3Simple' defaultModelType='flat'> <property name='autoDelimitKeywords' value='true'/> <property name='javaFileEncoding' value='utf-8'/> <property name='beginningDelimiter' value='`'/> <property name='endingDelimiter' value='`'/> <!--覆蓋xml文件--> <plugin type='com.xqnode.boot.util.OverwriteXmlPlugin'/> <!-- 注釋 --> <commentGenerator type='com.xqnode.boot.util.CommentGenerator'> <property name='suppressAllComments' value='true'/><!-- 是否取消注釋 --> </commentGenerator> <!-- jdbc連接 --> <jdbcConnection driverClass='com.mysql.cj.jdbc.Driver' connectionURL='jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&amp;nullCatalogMeansCurrent=true' userId='root' password='123456'/> <!-- 類型轉換 --> <javaTypeResolver> <property name='forceBigDecimals' value='false'/> </javaTypeResolver> <!-- 生成實體類地址 --> <javaModelGenerator targetPackage='com.xqnode.boot.model' targetProject='src/main/java'> <property name='enableSubPackages' value='false'/> <property name='trimStrings' value='true'/> </javaModelGenerator> <!-- 生成mapxml文件 --> <sqlMapGenerator targetPackage='mapper' targetProject='src/main/resources'> <property name='enableSubPackages' value='false'/> </sqlMapGenerator> <!-- 生成mapxml對應client,也就是接口dao --> <javaClientGenerator targetPackage='com.xqnode.boot.dao' targetProject='src/main/java'type='XMLMAPPER'> <property name='enableSubPackages' value='false'/> </javaClientGenerator> <table tableName='t_user' domainObjectName='User' mapperName='UserMapper' /> </context></generatorConfiguration>

這里面有我的兩個代碼插件:

1、注釋插件CommentGenerator:

package com.xqnode.boot.util;import org.mybatis.generator.api.IntrospectedColumn;import org.mybatis.generator.api.IntrospectedTable;import org.mybatis.generator.api.dom.java.Field;import org.mybatis.generator.internal.DefaultCommentGenerator;/** * 生成model中,字段增加注釋 */public class CommentGenerator extends DefaultCommentGenerator { @Override public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { super.addFieldComment(field, introspectedTable, introspectedColumn); if (!''.equals(introspectedColumn.getRemarks())) { field.addJavaDocLine('/**'); field.addJavaDocLine(' * ' + introspectedColumn.getRemarks()); field.addJavaDocLine(' */'); } }}

2、xml文件覆蓋插件OverwriteXmlPlugin:

package com.xqnode.boot.util;import org.mybatis.generator.api.GeneratedXmlFile;import org.mybatis.generator.api.IntrospectedTable;import org.mybatis.generator.api.PluginAdapter;import java.util.List;/** * @version 1.0.0 */public class OverwriteXmlPlugin extends PluginAdapter { @Override public boolean validate(List<String> warnings) { return true; } @Override public boolean sqlMapGenerated(GeneratedXmlFile sqlMap, IntrospectedTable introspectedTable) { sqlMap.setMergeable(false); return super.sqlMapGenerated(sqlMap, introspectedTable); }}

補充知識:老司機學習MyBatis之如何通過select返回List

一、案例

當要查詢的結果不是單個記錄而是一個集合的時候,MyBatis的resultType寫的依然是集合中的對象的類型名稱,例如:

<select resultType='com.queen.mybatis.bean.User'> select id, loginId, userName, role, note from t_user</select>

該查詢語句,查出的是所有用戶數據,注意resultType里面寫的依然是集合中的對象的類型名稱。

不能寫成java.util.List,否則查詢會報錯,下面我們演示一下這種情況:

修改XML文件:

<select resultType='java.util.List'> select id, loginId, userName, role, note from t_user</select>

控制臺打印報錯信息:

org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.UnsupportedOperationException### The error may exist in UserMapper.xml### The error may involve com.queen.mybatis.mapper.UserMapper.getAllUsers### The error occurred while handling results### SQL: select id, loginId, userName, role, note from t_user### Cause: java.lang.UnsupportedOperationExceptionat org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)

寫成java.util.List直接拋出了異常。

以上這篇mybatis generator只能生成insert和selectAll的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | ptc_浴霸_大巴_干衣机_呼吸机_毛巾架_电动车加热器-上海帕克 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 菏泽知彼网络科技有限公司| 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 浇注料-高铝砖耐火砖-郑州凯瑞得窑炉耐火材料有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | LOGO设计_品牌设计_VI设计 - 特创易 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 百度网站优化,关键词排名,SEO优化-搜索引擎营销推广 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 间苯二酚,间苯二酚厂家-淄博双和化工 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 |