解决mybatis中 数据库column 和 类的属性名property 不一致的两种方式
解决方式way1:resultMap
(1)studentMapper.xml
- <!-- 当数据库的字段名 和 类的属性名 不一致的时候的解决方式:2种 way1-->
- <select id="selectOneNotPipeiWay1" resultMap="aaa" parameterType="int">
- select * from student where id = #{id}
- </select>
- <resultMap id="aaa" type="susu.demo.Student">
- <result property="grade" column="gradenews"/><!-- property: 类的属性名 column:数据库的字段名 -->
- </resultMap>
(2)studentManager.java动态代理接口(接口中的方法默认都是public abstract ,可以不写)
- //数据库的字段名 和 类的属性名不一致的时候 的解决方式之一
- Student selectOneNotPipeiWay1(int id);
(3)测试方法
- /**
- * column 和 property不匹配的时候的解决方式之一: resultMap
- */
- public static void notPipeiWay01() throws IOException
- {
- Reader reader = Resources.getResourceAsReader("conf.xml");
- SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
- SqlSession session = sessionFactory.openSession();//就是session名字即可
- StudentManager studentManager = session.getMapper(StudentManager.class);
- Student s = studentManager.selectOneNotPipeiWay1(2);
- System.out.println(s.toString());
- session.close();
- }//notPipeiWay01()
解决方式way2:resultType+HashMap
(1)studentMapper.xml
- <!-- way2 -->
- <select id="selectOneNotPipeiWay2" resultType="susu.demo.Student" parameterType="int">
- select id, gradenews "grade" from student where id = #{id}
- </select>
(2)studentManager.java动态代理接口(接口中的方法默认都是public abstract ,可以不写)
- //数据库的字段名 和 类的属性名不一致的时候 的解决方式之二
- Student selectOneNotPipeiWay2(int id);
(3)测试方法
- /**
- * column 和 property不匹配的时候的解决方式之二: resultType+HashMap
- */
- public static void notPipeiWay02() throws IOException
- {
- Reader reader = Resources.getResourceAsReader("conf.xml");
- SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
- SqlSession session = sessionFactory.openSession();//就是session名字即可
- StudentManager studentManager = session.getMapper(StudentManager.class);
- Student s = studentManager.selectOneNotPipeiWay2(1);
- System.out.println(s.toString());
- session.close();
- }//notPipeiWay02()
解决mybatis中 数据库column 和 类的属性名property 不一致的两种方式的更多相关文章
- [Android]解决3gwap联网失败:联网请求在设置代理与直连两种方式的切换
[Android]解决3gwap联网失败:联网请求在设置代理与直连两种方式的切换 问题现象: 碰到一个问题,UI交互表现为:联通号码在3gwap网络环境下资源一直无法下载成功. 查看Log日志,打印出 ...
- 解决layui表单ajax提交回调函数不起作用问题的两种方式
最近想用layui开发一个论坛模板用的是fly-ui,才接触layui对其还不太熟悉.一个简单的登录就困扰了我很久.登录的form通过ajax提交回调函数老是不起作用.经过浪费了N多时间的调试,发现l ...
- SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法
软件152 尹以操 首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml ...
- K:java中序列化的两种方式—Serializable或Externalizable
在java中,对一个对象进行序列化操作,其有如下两种方式: 第一种: 通过实现java.io.Serializable接口,该接口是一个标志接口,其没有任何抽象方法需要进行重写,实现了Serializ ...
- MyBatis中---数据库配置的属性名冲突问题
一.db.properties 属性文件中 最好加特殊的标志前缀 jdbc.username ,如果单纯的username有可能影响到 mapper.xml中的 ${username}; 举例 ...
- 解决mybatis中转义字符的问题
xml格式中不允许出现类似“>”这样的字符,有如下两种解决方法 方法一:使用转义字符 SELECT * FROM test WHERE 1 = 1 AND start_date <= CU ...
- 在springboot中使用Mybatis Generator的两种方式
介绍 Mybatis Generator(MBG)是Mybatis的一个代码生成工具.MBG解决了对数据库操作有最大影响的一些CRUD操作,很大程度上提升开发效率.如果需要联合查询仍然需要手写sql. ...
- ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页
一.实体类或属性名与数据库关键字冲突问题1.实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等 ...
- .Net 中读写Oracle数据库常用两种方式
.net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...
随机推荐
- C语言-查找一个元素在数组中的位置
#include<stdio.h> #include <stdlib.h> #include <time.h> int search(int key, int a[ ...
- 安装VMworkstation和Centos虚拟机
1.安装VMware workstation. 2.下一步. 3.可以选择安装位置,下面选项不选. 4.这两个选项不需要选. 5.下一步 6.安装 7. 8.点击许可证输入密钥,密钥在网上搜,然后就完 ...
- MySQL基础(五)常见运算符
MySQL常见运算符 运算符连接表达式中各个操作数,其作用是用来指明对操作数所进行的运算.常见的运算有数学计算.比较运算.位运算以及逻辑运算.运用运算符可以更加灵活地使用表中的数据,常见的运算符类型有 ...
- Ubuntu Qt5.13 无法输入中文和中文显示乱码问题
无法输入中文: sudo apt-get install libfcitx-qt5-dev cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminput ...
- Redis原理篇
Redis原理篇 1.发布 订阅模式 1.1列表 的局限 前面我们说通过队列的 rpush 和 lpop 可以实现消息队列(队尾进队头出),但是消费者需要不停地调用 lpop 查看 List 中是 ...
- Display 1 No cameras rendering
解决: 点击Main Camera ,
- Circle Problem From 3Blue1Brown (分圆问题)
Background\text{Background}Background Last night, lots of students from primary school came to our c ...
- SpringBoot 2.0整合阿里云OSS,实现动静分离架构
前言 相信大部分开发者对下面这张架构图并不陌生吧,现在很多网站/应用都采用了动静分离的架构进行部署.博主的博客也不例外,主机采用的是阿里云的 ECS,使用 CDN 做静态内容分发,不过静态文件还是存储 ...
- Redis中是如何实现分布式锁的?
分布式锁常见的三种实现方式: 数据库乐观锁: 基于Redis的分布式锁: 基于ZooKeeper的分布式锁. 本地面试考点是,你对Redis使用熟悉吗?Redis中是如何实现分布式锁的. 要点 Red ...
- jmeter基本组件介绍
常用术语统一:元件-jmeter工具菜单的一个子菜单(功能) 组件-一组元件的集合.如http请求与取样器的的关系 jmeter测试计划要素: (1)脚本中测试计划只能有一个: (2)测试计划中至 ...