解决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 ...
随机推荐
- HTML5远程工具
因为有从网页直接远程其他windows电脑的需求,于是通过网上搜索找到下面几个解决方案,分享一下: 1.windows的远程桌面web连接tsweb 下载地址https://www.microsoft ...
- javascript input只输入数字和字母
<input type="text" placeholder="请输入您的用户名..."> <script type="text/j ...
- nginx::配置https/反向代理
vim /etc/nginx/nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log warn; pi ...
- Vuex使用总结
Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. Vuex的五个核心概念 ...
- jmeter打印变量的三种方式
1.使用Debug Sampler 2.使用log打印到jemter日志 3.使用System.out.println打印到cmd命令行
- linux-scp命令及如何设置免密登录
部署测试环境时经常在两台服务器间copy文件,那么如何设置免密登录? 场景:源服务器A(如172) -> 目标服务器B(如71) 实现将服务器A的文件copy到服务器B 实现方式有两种: 在源 ...
- 玩转OneNET物联网平台之简介
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- Spring Boot构建的Web项目如何在服务端校验表单输入
本文首发于个人网站:Spring Boot构建的Web项目如何在服务端校验表单输入 这个例子用于演示在Spring Boot应用中如何验证Web 应用的输入,我们将会建立一个简单的Spring MVC ...
- CentOS7 下升级Python版本
来博客园的第一篇博客,以后要坚持养成记录.分享的习惯啊,这样生活才会有痕迹~ 服务器版本:CentOS 7.3 64位 旧Python版本:2.7.5 新Python版本:3.8.0 说明:本次配置使 ...
- fenby C语言 P22
#include <stdio.h> int main(){ char array[]={'t','o','m','c','a','t'}; int i; for(i=0;i<6;i ...