
Mybatis
SuperGirl2020
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【MyBatis】myBatis动态传入表名、字段名(列名)进行查询
最近在工作上遇到一个问题,由于数据量过大所以进行了分表保存用户数据,项目dao层使用了MyBatis框架,并且用xml保存维护sql语句, 方便后期DBA介入进行查询语句的优化。 由于分表就涉及到了有相近查询语句只是表名不同的情况,刚开始使用了<select id="selectById" resultMap="BaseResultMap" parameterType=...转载 2019-02-13 14:53:01 · 9962 阅读 · 0 评论 -
关于mybatis返回单一对象或对象列表的问题
一.说明返回数据类型由dao中的接口和map.xml文件共同决定。另外,不论是返回单一对象还是对象列表,***map.xml中的配置都是一样的,都是resultMap=”***Map”或resultType=“* .* .*”类型.每一次mybatis从数据库中select数据之后,都会检查数据条数和dao中定义的返回值是否匹配。若返回一条数据,dao中定义的返回值是一个对象或对象的L...转载 2019-02-13 13:52:36 · 8300 阅读 · 0 评论 -
XML 中的 ﹤![CDATA[ ]]>
本文主要介绍xml中CDATA作用。 为了解决属性值中使用XML中的特殊字符,xml使用类似的转义字符去描述。 字符转移字符< &lt;> &gt;&&amp;'&apos;"&quot;CDATA段 在某些情况下,我们在xml中要使用大量XML敏感的字符,而我们又不希望逐一的对其进...转载 2019-02-12 18:57:28 · 44575 阅读 · 0 评论 -
MyBatis 中#与$的区别
需求是这样的,页面有个table,有一列的上下箭头可点击并排序。对于这种需求,我的mybatis.xml的sql配置写成了如下:<if test="map.ColumnNameSort!=null and map.ColumnNameSort!=''"> ORDER BY columnName #{map.ColumnNameSort} </if> Col...转载 2019-02-12 17:07:41 · 133 阅读 · 0 评论 -
ResultMap和ResultType在使用中的区别
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置。因此对于单...转载 2019-02-12 17:03:16 · 145 阅读 · 0 评论 -
MyBatis 常用的的jdbcType数据类型
1 MyBatis 通过包含的jdbcType类型BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINEDTINYINT REAL VARCHAR BINARY BLOB NVARCHARSMALLINT DOUBL...转载 2019-02-12 16:36:36 · 5182 阅读 · 0 评论 -
MyBatis 插入空值时,需要指定JdbcType.
在执行SQL时MyBatis会自动通过对象中的属性给SQL中参数赋值,它会自动将Java类型转换成数据库的类型。而一旦传入的是null它就无法准确判断这个类型应该是什么,就有可能将类型转换错误,从而报错。mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换,要解决这个问题,需要针对这些可能为空的字段,手动指定其转换时用到的类型。一般...转载 2019-02-12 16:13:12 · 1368 阅读 · 0 评论 -
insert主键返回 selectKey使用
有时候新增一条数据,知道新增成功即可,但是有时候,需要这条新增数据的主键,以便逻辑使用,再将其查询出来明显不符合要求,效率也变低了。这时候,通过一些设置,mybatis可以将insert的数据的主键返回,直接拿到新增数据的主键,以便后续使用。这里主要说的是selectKey标签设计表的时候有两种主键,一种自增主键,一般为int类型,一种为非自增的主键,例如用uuid等。首先说自增类...转载 2019-02-12 16:10:43 · 508 阅读 · 0 评论 -
MyBatis动态传入表名,字段名参数的解决办法
原文:http://luoyu-ds.iteye.com/blog/1517607要实现动态传入表名、列名,需要做如下修改 添加属性statementType="STATEMENT" 同时sql里的属有变量取值都改成${xxxx},而不是#{xxx} <delete id="deleteTableData" parameterType="java.util.Map" sta...转载 2019-02-14 08:47:02 · 675 阅读 · 0 评论