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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

一般出現(xiàn)這個(gè)情況的時(shí)候,怎么辦?

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

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

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

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'/> <!-- 類型轉(zhuǎn)換 --> <javaTypeResolver> <property name='forceBigDecimals' value='false'/> </javaTypeResolver> <!-- 生成實(shí)體類地址 --> <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對(duì)應(yīng)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>

這里面有我的兩個(gè)代碼插件:

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); }}

補(bǔ)充知識(shí):老司機(jī)學(xué)習(xí)MyBatis之如何通過select返回List

一、案例

當(dāng)要查詢的結(jié)果不是單個(gè)記錄而是一個(gè)集合的時(shí)候,MyBatis的resultType寫的依然是集合中的對(duì)象的類型名稱,例如:

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

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

不能寫成java.util.List,否則查詢會(huì)報(bào)錯(cuò),下面我們演示一下這種情況:

修改XML文件:

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

控制臺(tái)打印報(bào)錯(cuò)信息:

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的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 动力配电箱-不锈钢配电箱-高压开关柜-重庆宇轩机电设备有限公司 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 河南中专学校|职高|技校招生-河南中职中专网 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 物流公司电话|附近物流公司电话上门取货 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 汝成内控-行政事业单位内部控制管理服务商 | 北京工业设计公司-产品外观设计-产品设计公司-千策良品工业设计 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 桑茶-七彩贝壳桑叶茶 长寿茶| 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 永嘉县奥阳陶瓷阀门有限公司 | 真空上料机(一种真空输送机)-百科 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 |