myBatis要不要用实体类

新手学myBatis,
请问用myBatis一定要写实体类吗?比如一些多表查询关联报表查询都是临时性的或者说都是多变,能不能不写实体类以jdbc结果集的型式展现呢?

13个回答

多个结果集他会给你放入一个List,你在javacode中用selectList这样的代码返回的是list,当然这个list中可能是实体类也可能是hashmap

每张表都要对应一个实体 这样才能映射嘛 多表联合查询的结果可以返回一个hashmap处理 时情况而定

灵活处理,不一定非要使用实体类。关联查询,返回一个map的例子你可以看一下原来ibatis的,这个没怎么变。

如果你是多表联合查询,然后你又觉得返回方式用map很麻烦的话,你可以自己建立个实体类,这个实力类中包含有你所要查询的多表中的字段,然后在mybatis中用typeAlias指定一下,到时候,就能像用一般的实体类那样使用就好。

本身取出来就是结果集。
[code="xml"]
select
ID,
AD_ID,
AD_URL,
AD_PATH
from
ad_attachment

1=1

and AD_ID=#{ad_id}


and ID=#{id}


[/code]
定义一个resultMap接就可以了

我没像你那样做过,resultMap你可以指定他的类型为实体类,但是既然这样你为何要用reslutmap而不是直接就用实体类呢。搞这个你可以直接返回一个reslutMap,他的类型直接是一个hashmap就可以。
基本的过程是这样:首先查询得到返回结果集,这时为Map,如果有reslutType则将key_value通过get_set方式建立一个对象,如果直接用reslutMap 则省去转换的一步,当然,你又指定resultMap的type的话,他也一样会转换成一个实体类来处理。不知道明白了没

[code="java"]
public List select_adatt(HashMap paramMap) {
if(paramMap!=null){
if(paramMap.containsKey("offset")&&paramMap.containsKey("limit")){
return this.getSqlSessionTemplate().selectList("com.cepri.spicss.systemad.dao.ADDao.select_adatt", paramMap,new RowBounds(Integer.parseInt((String)paramMap.get("offset")), Integer.parseInt((String)paramMap.get("limit"))));
}else{
return this.getSqlSessionTemplate().selectList("com.cepri.spicss.systemad.dao.ADDao.select_adatt", paramMap);
}
}
else{
return this.getSqlSessionTemplate().selectList("com.cepri.spicss.systemad.dao.ADDao.select_adatt", paramMap);
}

}

[/code]
[code="xml"]


select

ID,

AD_ID,

AD_URL,

AD_PATH

from

ad_attachment



11=1



and AD_ID=#{ad_id}





and ID=#{id}






[/code]

[code="java"] <!-- 调用存储过程 -->

statementType="CALLABLE"
parameterMap="ParaMap_test"
resultMap="mpGoods"
>

{#{result} = call sp_getGoods()}

[/code]

这个里面的 parameterMap="ParaMap_test" 不要,还有你的传入参数是一个空的map?你的代码应该没问题,如果list有值的话,直接map.get("key")就可以了

[code="java"]









[/code]就是这里定义的这些

上面的数据已经有了。。。单个转换成map什么的都可以。
你说的:
但我看网上的另一方法是把要输出的结果集放入了参数变量中(如上),然后从这个参数hashMap中取得这个"result",再转成list输出,传参应该是传一个空hashMap呀,为什么没有返回值呢?

不太明白,不是已经有了返回值了么??这个返回结果的过程很好理解,你如果熟悉jdbc操作,应该对resultSet不陌生

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
这个要不要用触发器
sqlite ,对视图写操作,用了存储过程。还要不要再给视图建个触发器,触发时调用存储过程。
门户网站要不要用iframe?
rn 网站的页面头和尾部是不变的,那么我中间变的部分打算显示在里面,rnrn 问: 这样做有什么坏处吗? 别人都是怎么做的啊?rn
要不要用外键?
在定义数据库表中,如果使用了外键要修改主键表的主键字段是不行,除非在外键表里删除与此主键字段相关的所有记录。rn所以我想知道,大家在定义数据库表中用不用外键约束呢?
要不要用用户控件?
我要做一个新闻主页,页面主要分为9个板块,每个板块都分别读取数据库显示不同的新闻信息,rn解决方法如下:rn1 。页面放9个数据绑定控件,读取数据并绑定rn2。 每个板块做一个用户控件, 通过主页面传递相应的DataTable参数绑定rnrn大家认为哪种方法好点?rn第二种方法会不会比第一种方法的效率低很多?rnrnrn谢谢!
要不要用存储过程??
VC + SQL SERVER2000 数据库 rn准备对将近1W条记录进行搜索 要不要用存储过程?? 采用ODBC的访问方式 rn不用存储过程会不会很慢????rn请有经验者请教下啊
要不要用monxin商城收银系统
简单介绍了梦行收银系统
Try catch倒底要不要用?
看视频DAL层 连接时每个都有Try catch,在网上看到说用这个耗资源,倒底要不要用呢? 另外Using能否替代Try catch?
数据库操作到底要不要用try?
在对数据库进行读写等操作时到底要不要使用try?用了性能降低,不用程序不够严谨,根据大家的经验到底什么情况下该用,什么情况下不该用?
要不要用ASP.NET母版页MasterPage?
正要纠结要不要用ASP.NET的母版页?如果不用的话,又该用什么技术保持整站的风格一致?你们是怎么做的?
这个网络要不要用路由器
单位的网络结构是:一个三层中心交换机,下接十个24口的二层交换机。rn 我现在是把外网接在三层机子上(用二层终端用自动获得IP 192。168。2。X上网),内网也接在三层机子上(终端用固定IP 192。168。3。X到内网服务器读取数据)rn rn我在三层交换机上划分了二个VLAN 。rn 大虾们看看这个网络需不需接一个路由器,如果接怎么接法,路由器怎么设置(详细点,偶主要是没有用过路由器,很想知道怎么用,什么情况下用)rn rn 谢谢,请高手们回的详细点,对点上了,明天早上来上班就结贴,说话算话。rn 我好想向高手们学习啊。可惜没有人教啊。rn rn 另外CISCO2600 不知道密码怎么进入。我很想看看那里面的设置啊。
mybatis配置mapper的resultmap的时候为什么 要用实体类呢?
问大家一个问题,mybatis配置mapper的resultmap的时候为什么 要用实体类呢,我感觉还不如java.util.HashMap 好使呢 而且如果表结构变了实体类就得变 相应的xml也得变 这不是给自己找麻烦呢吗?
mybatis实体类生成工具
mybatis实体类生成工具,mybatis优点: 简单: 易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 实用: 提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了dao框架,可以使我们更容易的开发和配置我们的dal层。灵活: 通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。功能完整: 提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。提供了dao支持,并在dao框架中封装了ado.net,nhibernate和datamapper。增强系统的可维护性: 通过提供dal层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
mybatis反向生成实体类
mybatis反向生成dao,mapping,entity的工具,并附上操作步骤
mybatis自动生成实体类映射
mybatis自动生成实体类映射,建立好数据库后,修改好映射关系,既可以自动生成实体类和xml文件
mybatis实体类自动生成工具
这是mybatis实体类自动生成工具,非常好用,与大家共享!欢迎下载!
Mybatis 配置实体类的别名
在Mapper中定义sql操作时,通常要制定传入参数类型和返回值类型,如果他们是对象,则必须制定此对象的准确路径,才能找到,比如:<insert id="addUser" parameterType="com.atguigu.mybatis.test1.User" > insert into users(name,age) values(#{name},#{age}) </
mybatis数据库和实体类的映射?
[size=24px]用mybatis-generator-core-1.3.2.jar这个生成的java bean没有多表关联关系...比如User表里边的role_id 就变成了生成的User实体类中的一个字段role_id了,而不是一个Role对象,上网搜了搜资料说mybatis-generator只能做单表查询。。。这个意思就是还要修改mybatis-generator-core-1.3.2.jar生成的代码了。rn实际开发中,都是怎么对应实体类呢?难道不用mybatis-generator-core-1.3.2.jar这个工具,自己手动code出mapper bean类吗?[/size]
mybatis实体类反向生成
将数据库里面所需要的表,通过工具生成所需要的实体类与映射文件
<java>mybatis自动生成实体类
这个包是我改了mybati的源码,你只要把xml配置一下就可以生成你想生成的实体类 第一步 这是将你的文件导入到eclipse  打开就是这样的页面,这里有一个main方法等你配置好就执行这个方法就好了 就是这个generatorConfig.xml这里的配置我怎么配置我都写在注释里面了 配置好了就执行这个main方法 就完全ok
mybatis插件自动生成实体类
相信很多人用mybatis开发时,都不想自己敲实体类,特别是表比较多的时候,这个时候就需要借助我们的插件来自动生成实体类了,可以大大得节省我们的时间,ok,下面就给大家讲讲怎么利用插件自动生成实体类: 首先,我们在pom.xml文件里的&amp;lt;plugins&amp;gt;里面配置: 1.pom文件中添加插件 &amp;lt;plugin&amp;gt; &amp;lt;groupId&amp;gt;org.m...
Mybatis | 自定义实体类别名
方式一,逐个定制: &amp;lt;configuration&amp;gt; &amp;lt;typeAliases&amp;gt; &amp;lt;!-- 针对单个别名定义 type:实体类权限定类名 alias:别名 --&amp;gt; &amp;lt;typeAlias type=&quot;org.mybatis.po.User&quot; alias=&quot;_User&quot;/&amp;gt; &amp;lt;/typeAliases&amp;gt; &amp;lt;
mybatis自动生成实体类
1.配置好数据库信息,dos执行命令即可; 2.内附使用说明;
mybatis 自动生成实体类,xml配置
解压,修改里面的那个xml配置,输入相关的数据库连接.打开那个readme文件,在cmd上敲那个命令,即可使用此工具生成文件配置.
mybatis 自动生成实体类dao
mybatis 自动生成实体类dao
mybatis逆向生成实体类
mybatis逆向生成实体类,生成实体类的jar包+配置文件+cmd执行语句, 配置文件包含注释,更具自己的需要修改即可。
Mybatis自动生成实体类
Mybatis自动生成实体类,XML文件
MyBatis自动生成实体类
需要的工具 mybatis-generator-core-1.3.2.jar mysql-connector-java-5.0.4.jar 第一步:编写一个MybatisGeneratorUtil类 package com.test.utils; import java.io.File; import java.io.IOException; import java.sql
MyBatis 自动生成实体类,配置文件
根目录创建generatorConfig.xml文件 这个文件是基于maven项目创建的,路径需要自行定义 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration...
mybatis 实体类中包含多个实体类
比如Shop实体类中有其他的对象 那么我们通过这个shop对象分别也可以得到对应的area.name ,owner.name, shopCategory.name . 这样的话 我们怎么写sql语句呢?创建shopDao接口在Shop对象的mapper上面,怎么才算是与接口对应上了呢? 在shopDao.xml 写上这样一句话就算对应上了 ,&lt;mapper namespace...
连接sql server 2005 要不要用实例名?
VB 连接 sql server 2005 时,我发现有的服务器一定要用实例名,如下rnrnProvider=SQLOLEDB;Data Source=192.168.0.1,1433\SQLExpress;Initial Catalog=bettermis;User ID=sa;Password=1234567rnrn有的服务器只要IP地址就可以了rnProvider=SQLOLEDB;Data Source=218.90.0.1;Initial Catalog=bettermis;User ID=sa;Password=1234567rnrn请问题下什么情况下可以连接sql server 2005 可以省略端口号和实例名,非常感谢!rn
在send的时候要不要用while判断?
在asyncsocket::onSend()中,要不要while(send(……)==SOCKET_ERROR)来发送数据?
这个问题要不要用DELPHI编程了????????????????????
一个EXCEL文件里面有两个sheetrnrn一个叫做了sheet1一个叫做了sheet2rnrnsheet1里有若干单元格,sheet2里有若干单元格rnrn需求:rnrn sheet1和sheet2里的内容对比,把单元格内容差不多的找出来了rnrn比如sheet1的a1单元格值为'ok' sheet2的a5单元格值为'okok', 就认为a1和a5满足差不多的条件
开发大型系统到底要不要用 PFC
好处、坏处 占的比率各有多少??
客厅装修要不要用集成墙面?
快装集成墙面展示视频 时下装修新意不断,对于房屋装修要求更是全方位提升,大家都希望拥有一套个性化的家。客厅装修,自然成了家庭装修中的重中之重,就像一个人的脸面一样略施粉黛,便令人耳目一新。相比传统的墙体装饰,集成墙面自然而然成了现代环保装修材料中的首选。 1、集成墙面系列多样,打造百变客厅 集成墙面系列多样,使用寿命长,节能环保,个性定制,贴心舒适,顺应了时代和市场的发展。通过持续创新和卓越的品...
请问javascript的方法调用到底要不要用括号?
网上看到这个代码:rn[code=javascript]if (myvideo.canPlayType) [/code]rnrn但是文档上面说canPlayType明明是个方法,而且还需要参数type,那么调用不应该是myvideo.canPlayType(type)这样的形式吗?rnrn刚接触js,求指教
MyBatis:使用mybatis自动生成代码(实体类与基础的增删改查)
在项目开发过程中,有很多代码都是没必要自己手动去敲的,比如表的实体类,还有一些基础的增删改查的方法。自己动手的话只能降低工作效率,这篇博客主要是接受如何使用mybatis的插件自动生成代码。 第一步去pom文件添加插件: &amp;lt;plugin&amp;gt; &amp;lt;groupId&amp;gt;org.mybatis.generator&amp;lt;/groupId&amp;gt; &amp;lt;artifact...
mybatis代码生成器,Java实体类生成器
mybatis代码生成器,Java实体类xml 文件生成器,MySQL数据库字段映射工具
mybatis插件自动生成实体类-配置文件
在项目的这个位置有两个配置文件,用来自动生成 generatorConfig.properties:配置数据库,实体类生成包路径、dao包路径、mappers类路径 &lt;!-- 配置Run As Maven build : Goals 参数 : mybatis-generator:generate -Dmybatis.generator.overwrite=true --&gt...
mybatis自动生成实体类和配制文件
需求: 执行语句: java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite geterator配置文件: --> (suppressAllComments*阻止**生成注释) ( driverClass:访问数据库的JDBC
Mybatis实体类别名自动扫描
1.开启实体类别名注解扫描 2.实体类注解 3.mapper接口 4.mapper xml
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件