当sqserver的N遇到mybatis
来源:互联网 发布:将java对象转换成json 编辑:程序博客网 时间:2024/06/06 02:19
之前使用mybatis的时候都是使用的#{}预处理的方式,但是有一种情况使用这种方式是不好使的,所以就给改成了${}的方式,事情的起因是这样的:
由于我们的服务,机器,虚拟机等等所有用的都是微软云的服务,包括数据库也是微软的sqlserver,当初数据库建库的时候,并没有指定其排序规则,而是默认的:SQL_Latin1_General_CP1_CI_AS(拉丁文啊),是不支持中文的,在跟微软提供服务的人沟通无果的情况下(要求在数据库层面解决),只能在程序上解决了,以下是解决办法:
首先将需要插入中文的表字段由原来的varchar改为了nvarchar,支持unicode的,然后在写sql的时候要在对应的值前面+N,比如原来的sql是:
insert into student(name,age,sex) values('张三',10,'男')
现在要给改成
insert into student(name,age,sex) values(N'张三',10,N'男')
那么原来的mybatis的sql是:insert into student(name,age,sex) values(#{s.name},#{s.age},#{s.sex}) 这种预处理的方式改为了
insert into student(name,age,sex) values(N'${s.name}',#{s.age},N'${s.sex}') Statement的方式了
那么问题来了,如果我的name跟sex中包含了单引号的情况下,是入不了库的,目前临时的解决办法是在入库之前判断一下,如果name和sex中包含了单引号,我要给替换掉。唉,希望早点把数据库的排序规则改成支持中文的,从根源解决问题。。。
- 当sqserver的N遇到mybatis
- 当数组遇到mybatis in 的时候
- maven下Struts2+Spring+mybatis+sqserver+c3p0 pom.xml配置
- 当遇到自私的人时
- mybatis遇到的问题
- mybatis遇到的错误
- mybatis遇到的问题
- mybatis中遇到的问题--mybatis.xml
- 使用mybatis遇到的问题
- mybatis初学(遇到的一系列问题)
- mybatis工作遇到的问题
- MyBatis使用遇到的问题
- mybatis遇到的低级问题
- 使用Mybatis遇到的错误
- mybatis遇到的那些坑
- 当你的职业发展遇到瓶颈
- 噩梦!!! 当Oracle遇到优化大师的时候~
- 当你遇到internal的时候
- Ubuntu 14.04 64位编译hadoop 2.7.3
- jzoj 4887. 【NOIP2016提高A组集训第13场11.11】最大匹配 树形dp
- 生成推送证书PEM文件
- ajax再封装及客户端传输参数问题解释
- Java获取随机数的几种方法
- 当sqserver的N遇到mybatis
- grep -v '^$'
- 页面美化例子
- HashMap.put/get方法
- 14.8.9 Clustered and Secondary Indexes
- Android 广播接收者的生命周期
- ViewPage+Fragment(仿微信切换带通知)
- Android获取手机制作商,系统版本等
- 无刷电机控制器的补充