项目开发遇到的问题以及解决方法
2014-08-21 10:51
736 查看
1.数据库命名不能含有小数点
2.使用hibernate一对多查询set集合查询,注解:@OrderBy(value = "id ASC")的 配置文件在set标签加上order-by=“id desc”
3.org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
update():一般是ID获取错误 不是正确的ID ; save():可能是表的字段是自增,而在插入记录的时候设置了ID的值导致的。
4.@JsonIgnore
避免取JSON对象时无限递归的问题. 导入import com.fasterxml.jackson.annotation.JsonIgnore;
Jar包名称:jackson-annotations-2.2.3.jar
5.嵌套json转换成java对象 导入jackson.jar包
声明ObjectMapper om = new ObjectMapper(); 导入import org.codehaus.jackson.map.ObjectMapper;
// 对象就在这里读取。
ClassA classA = om.readValue(jsonString, ClassA.class);
// 怎么用,随便。
System.out.println(classA .getClassB());
6.批量添加
-1.批量update,一条记录update一次,性能很差
update test_tbl set dr='2' where id=1;
-2.replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y');
或insert into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y') on duplicate key update dr=values(dr);
-3.创建临时表,先更新临时表,然后从临时表中update
create temporary table tmp(id int(4) primary key,dr varchar(50));
insert into tmp values (0,'gone'), (1,'xx'),...(m,'yy');
update test_tbl, tmp set test_tbl.dr=tmp.dr where test_tbl.id=tmp.id;
个人认为replace into性能较好
replace into 和insert into on duplicate key update的不同在于:
replace into 操作本质是对重复的记录先delete 后insert,如果更新的字段不全会将缺失的字段置为缺省值
insert into 则是只update重复记录,不会改变其它字段
7.MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8
原来在5.1版本时,为了解决中文乱码问题设置默认字符集为utf8时,在my.ini内的 [mysql] 和 [mysqld] 项中都是写:
default-character-set=utf8
到了5.5版本, [mysql] 项内可以这么写, [mysqld] 项内不能再这么写了,而是必须写:
character-set-server=utf8
8.用远程登陆客户端登陆linux
进入tomcat/logs/文件夹下
键入指令:tail -f catalina.out
这样就可以与本地电脑一样查看TOMCAT的控制台了。
9.@mappedBy 属性简单理解为设定为主表,所以另一端则需要设置外键@JoinColumn(name="fk_id")
@OneToMany 注解下返回Set集合(列如:上帝可以有多个信徒)。
@ManyToOne 注解下 设置外键 根据 外键获取到主表对象只能获取到一个对象(列如:信徒只能有一个上帝)。
2.使用hibernate一对多查询set集合查询,注解:@OrderBy(value = "id ASC")的 配置文件在set标签加上order-by=“id desc”
3.org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
update():一般是ID获取错误 不是正确的ID ; save():可能是表的字段是自增,而在插入记录的时候设置了ID的值导致的。
4.@JsonIgnore
避免取JSON对象时无限递归的问题. 导入import com.fasterxml.jackson.annotation.JsonIgnore;
Jar包名称:jackson-annotations-2.2.3.jar
5.嵌套json转换成java对象 导入jackson.jar包
声明ObjectMapper om = new ObjectMapper(); 导入import org.codehaus.jackson.map.ObjectMapper;
// 对象就在这里读取。
ClassA classA = om.readValue(jsonString, ClassA.class);
// 怎么用,随便。
System.out.println(classA .getClassB());
6.批量添加
-1.批量update,一条记录update一次,性能很差
update test_tbl set dr='2' where id=1;
-2.replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y');
或insert into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y') on duplicate key update dr=values(dr);
-3.创建临时表,先更新临时表,然后从临时表中update
create temporary table tmp(id int(4) primary key,dr varchar(50));
insert into tmp values (0,'gone'), (1,'xx'),...(m,'yy');
update test_tbl, tmp set test_tbl.dr=tmp.dr where test_tbl.id=tmp.id;
个人认为replace into性能较好
replace into 和insert into on duplicate key update的不同在于:
replace into 操作本质是对重复的记录先delete 后insert,如果更新的字段不全会将缺失的字段置为缺省值
insert into 则是只update重复记录,不会改变其它字段
7.MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8
原来在5.1版本时,为了解决中文乱码问题设置默认字符集为utf8时,在my.ini内的 [mysql] 和 [mysqld] 项中都是写:
default-character-set=utf8
到了5.5版本, [mysql] 项内可以这么写, [mysqld] 项内不能再这么写了,而是必须写:
character-set-server=utf8
8.用远程登陆客户端登陆linux
进入tomcat/logs/文件夹下
键入指令:tail -f catalina.out
这样就可以与本地电脑一样查看TOMCAT的控制台了。
9.@mappedBy 属性简单理解为设定为主表,所以另一端则需要设置外键@JoinColumn(name="fk_id")
@OneToMany 注解下返回Set集合(列如:上帝可以有多个信徒)。
@ManyToOne 注解下 设置外键 根据 外键获取到主表对象只能获取到一个对象(列如:信徒只能有一个上帝)。
相关文章推荐
- 3D商城服务器开发过程中遇到的问题,原因以及解决方法。。。
- ios 开发中遇到的问题总结以及解决方法
- ios 开发中遇到的问题总结以及解决方法
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
- PDA(WinCE)项目开发中遇到的问题及解决方法总结
- 【原创】ASP.NET MVC3开发中遇到问题以及解决方法
- 安卓app开发遇到的问题以及解决方法
- 餐饮项目开发遇到的问题和解决方法
- lucene在实际项目开发中遇到的一些问题及解决方法
- Xamarin跨平台开发中遇到的问题以及解决方法
- 开发与部署的讨论以及最近遇到问题及其解决方法(大杂烩)
- 创建WCF服务项目遇到的问题以及解决方法
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
- 使用ArcGIS GP服务遇到的问题,原因以及解决方法 - 客户端API开发(Javascript/Flex/Silverlig 转载
- 记录IOS开发中遇到的问题以及解决方法
- 【Android】android开发过程遇到的问题以及解决方法总结
- PDA(WinCE)项目开发中遇到的问题及解决方法总结
- node开发指南中的microblog项目中遇到的问题总结及解决方法
- ASP.NET MVC3开发中遇到问题以及解决方法
- 使用VIM开发软件项目 - (16) vim编译中遇到的问题及解决方法