问题描述:使用Mybatis查询tinyint(1)字段数据,返回值为Map类型,那么tinyint(1)的数据默认会转化为boolean类型数据.解决方案:  1.使用ifnull(column, 0)处理该字段,个人测试过可以;  2.在jdbcUrl添加参数:tinyInt1isBit=false(默认为true)  3.避免使用长度为1的tinyint类型字段存储数字格式的数据;…
在mybatis中遇到了修改数据时,控制台显示修改成功,但是去数据库查看并没有修改,这是因为mybatis不时自动提交事务的,所以是不会修改数据库的数据,这是我们加上一句 sqlSession.commit()就可以了.…
Struts 2框架会将表单的参数以同名的方式设置给对应Action的属性中.该工作主要是由Parameters拦截器做的.而该拦截器中已经自动的实现了String到基本数据类型之间的转换工作.在struts中,默认使用拦截器 <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/> 进行请求数据自动封装,它会JSP中提交的…
<基于Mybatis框架的批量数据插入的性能问题的探讨>(作者:魏静敏 刘欢杰 来源:<计算机光盘软件与应用> 2013 年第 19 期)中提到批量插入的记录数不能超过1000条,实测可以插入超过1000条.…
Mybatis配置中,取出map入参的数据一般有两种方式#{key}和${key},下面是这两种取值的区别: 以同样的语句做对比: <select id="geUserByParam1" resultType="Map" parameterType="Map"> select * from t_user t where t.name=#{name} and t.password=#{password} </select>…
如图需要获取下面两个li标签里面的数据,然后传给后台:而后台接收的数据格式是json的,所以需要把两个li里面的信息转化为以下格式的. {recieverName:小红,recieverPhone:12341234,recieverAddress:中国湖南},{recieverName:小明,recieverPhone:12345678,recieverAddress:中国上海} 代码如下: var recieverArr = []; //全局变量 var recieverMsg = {}; /…
在vim中,我们只需要简单配置一下就ok了,打开~/.vimrc加上下面的几行(如果已经有了,修改一下数值就行了). set tabstop=4set softtabstop=4set shiftwidth=4set expandtab   http://www.cnblogs.com/lihaozy/archive/2012/08/01/2618640.html…
问题叙述: 用 EXECUTE IMMEDIATE 动态往临时表插入数据,跟踪发现插入临时表后数据会立马清空,按理说等存储过程执行完才会清空临时表才对,现在是执行插入语句后下一步验证就发现临时表就没有数据了,不知道什么原因,以前系统用着都是好的,这两天突然就不行,请大神指导. 下面是存储过程代码:v_sqlstr := v_sqlstr || v_condtion;          EXECUTE IMMEDIATE 'insert into wms_temp_meter_assign( me…
<insert id="insertIntoDevAct" parameterType="java.util.List"><foreach collection="list" item="item" index="index" separator=";"> insert into bsec_dev_act (act_id,dev_id,dev_act,act_ty…
出现这个原因只是在浏览器上显示的问题,右键查看源代码是没有问题的. 如果不想的看到只要让代码在显示在浏览器之前替换掉就可以了 /** * url地址参数 * @param $arr * @return bool|string */ function url_union($arr){ if (!is_array($arr)){ return false; } $data = ''; $i = 0; foreach ($arr as $arr_key => $arr_val){ if ($i ==…
看到别人代码,MySQL数据库中,有下面这个字段,tinyint(1) 这时候java代码中取出来的数据类型就是boolean类型,如果长度 > 1的话,就会变成int类型,特意查了一下,这里参考了http://www.jianshu.com/p/1f70197da6a8 https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html 英语不太好,大概意思就是长度等于1时,对应jav…
resultMap 是 Mybatis 最强大的元素之一,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中.如在实际应用中,有一个表为(用户角色表),通过查询用户表信息展示页面,在(用户表)中存在用户角色表 id ,在实际列表页的展示中,用户关注的是用户角色名称,而不是角色 id.解决此类问题可以通过 resultMap 来映射自定义结果. 使用 resultMap 做自定义结果映射,字段名可以不一致,并且还可以指定要显示的列,比较灵活,应用也广泛(推荐使用). resul…
一.使用Number()函数. 二.使用parseInt()/parseFloat()函数. 详情: 一.使用Number()函数将非数值类型的数据自动的转化为数组类型 Number()函数可以将任何类型的数据转化为number类型,转换的规则如下: 如果是Boolean值,true和false将分别被替换为 1 和 0 如果是数字值,只是简单的传入和返回 如果是null值,返回 0 如果是undefined,返回NaN 如果是字符串,遵循下列规则: 如果字符串中只包含数字,则将其转换为十进制数…
刚才在写东西的时候,用mybatis中的 <insert id="add" parameterType="cn.entity.Computer"> insert INTO MyTable(createModel) VALUES(#{createModel})</insert> 在测试类中写了这个 int count = sqlSession.getMapper(ComputerMapper.class).add(com1); 结果是count…
1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后,在每个测试方法中,就不必再编写这些代码,最终,在执行测试方法之前,会自动调用添加了@Before注解的方法,在执行测试方法之后,会自动调用添加了@After注解的方法: private AbstractApplicationContext ac; private UserMapper userMap…
习惯使用jpa操作对象的方式,现在用mybatis有点不习惯. 其实是懒得写SQL,增删改查那么简单的事情你帮我做了呗,mybatis:NO. 没办法,自己搞喽! 这里主要是实现了通过代码自动生成mybatis的增删改查语句,并注册到SqlSessionFactory中,并没有生成xml文件,不生成mapper文件.只是在项目启动的时候自动生成,配置到SqlSessionFactory中,下一次启动后自动根据model自动生成相关逻辑.所以不必担心表结构修改需要改一大堆文件.使用了此方法只需要改…
原文:[Transact-SQL]SQL Server自动把left join自动转化为inner join.以及关联时的数据重复问题 1.SQL Server自动把left join自动转化为inner join的问题: 下面的两个语句都是left join的,但是一个却转化成了 inner join drop table a,B go create table a(id int) insert into a select 1 union all select 2 create table b…
在做一对多出现的问题,引发的思考:当数据库表中,主表的主键id和明细表的中的字段名相同时怎么办?Mybatis进行自动映射赋值的时候会不会出现异常?                      注意:Mybatis中做多表联查的时候,不管是一对一.一对多.一对多对多:多对多:都不能有字段重名的情况:不管是主键还是普通字段.一旦字段重名的话,就会造成数据少自动赋值,或者覆盖,甚至重复赋值!规避和解决此类问题的方法: 1.尽量不要表间重名,mybatis里处理起来很麻烦!id和普通字段都是.但是在表多…
--SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段--2.更新字段类型前如果该字段有默认值索引则应先删除掉对应的索引--3.数据表字段数据类型为tinyint在CodeSmith中读出来的是DbType.Byte类型,需要修正 declare @TableName nvarchar(250) --声明读取数据库所有数据表名称游标mycursor1de…
部分转载,已注明来源: 1.mybatis中获取常量类中数据 <update id="refuseDebt"> UPDATE dt_debt a SET        a.debt_status = ${@com.debtm.common.STATUS$DEBT_STATUS@DEBT_RETURNED},        a.return_reason = #{reason},a.return_date=CURDATE()        WHERE a.debtID =#{…
SpringBoot集成mybatis,同时读取一个数据库中多个数据表: application.properties: mybatis.config-location=classpath:mybatis/mybatis-config.xmlmybatis.mapper-locations=classpath:mybatis/mapper/PointMapper.xml,mybatis/mapper/LineMapper.xmlmybatis.type-aliases-package=com.e…
原文:在论坛中出现的比较难的sql问题:9(触发器专题 插入数据自动更新表数据) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 触发器问题,插入数据时,自动更新表的数据 http://bbs.csdn.net/topics/390634682 表1有字段1,字段2 插入数据4行 字段1   字段2 101 102 101 102 我想通过触发器,直接…
AutoScript 项目结构如下图 ---AutoScript.java 为程序入口 ---com.autoscript.object 同步 as3 和 java 的数据类 ---com.autoscript.database 同步 as3.java 和 mysql 的建表语句 ---com.autoscript.macro 同步 as3 和 java 的常量定义 ---samples 一些数据.常量配置示例 ---templates 项目中用到了 freemarker,该目录为输出文件模板目…
以mybatis中mapper.xml为例 方法一: 步骤一:在mybatis-3.3.0.jar包中寻找mybatis-3-mapper.dtd文件. 可以用360压缩打开mybatis-3.3.0.jar文件,找到mybatis-3-mapper.dtd. 将该文件复制一份出来放到常用配置文件目录之下(注意:该目录层级不要太深,目录中也不要包含中文字符,不然会造成目录无法识别) 步骤二:在myeclipse中配置 下载完成后,打开window–>Preferences–>XML–>X…
Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List<CalculateIdeacommissionsum> selectByExample(@Param("example") CalculateIdeacommissionsum example,@Param("roleNameList") List<String> roleNa…
insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.delete语句的返回值可以是Integer.Long和Boolean.在定义Mapper接口时直接指定需要的类型即可,无需在对应的<insert><update><delete>标签中显示声明. 对应的代码在 org.apache.ibatis.binding.MapperMe…
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置. 因此对于单表查询的话用resultType是最合适的.但是,如果在写pojo时,不想用数据库表中定义的字段名称,也…
持续原创输出,点击上方蓝字关注我吧 目录 前言 环境配置 什么是TypeHandler? 如何自定义? 如何将其添加到Mybatis中? XML文件中如何指定TypeHandler? 源码中如何执行TypeHandler? 入参如何转换? 结果如何转换? 总结 总结 前言 相信大家用Mybatis这个框架至少一年以上了吧,有没有思考过这样一个问题:数据库有自己的数据类型,Java有自己的数据类型,那么Mybatis是如何把数据库中的类型和Java的数据类型对应的呢? 本篇文章就来讲讲Mybati…
在一个Web服务的实现中,我们常常需要访问数据库,并将从数据库中所取得的数据显示在用户页面中.这样做的一个问题是:用于在用户页面上展示的数据和从数据库中取得的数据常常具有较大区别.在这种情况下,我们常常需要向服务端发送多个请求才能将用于在页面中展示的数据凑齐. 一个解决该问题的方法就是根据不同需求使用不同的数据表现形式.在一个服务实现中较为常见的数据表现形式有MO(Model Object,在有些上下文中也被称为VO,Value Object)和DTO(Data Transfer Object)…
一: 查询缓存 Mybatis提供查询缓存,用于减轻数据压力,提高数据库压力. Mybatis提供一级缓存和二级缓存. 在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构(HashMap)用于缓存数据. 不同的SqlSession之间的缓存数据区域是互相不影响的. Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获取数据将不再从数据库查询,…