| 2016/6/16 | 数据库 | 被围观 1,929 views+
一般的,我们在写一个系统的时候,都会分为持久层,服务层,和控制层,各层之间职责分明,对应的Entity,DTO,VO也是很明确知道用在哪里的,但是有时候为了方便,特别是用MyBatis的时候,直接从持久层返回一个vo,然后这个vo又作为方法的参数在系统之间来回调用,那么会引发什么样的问题呢? 假设我们有如下代码: /** * 确认订单 */ public boolean confirmOrder(String orderId){ OrderVo orderVo = orderDao.findByOrderId(orderId); // 假设计算订单号需要用到一个特殊的利率 BigDecimal annualRate = new BigDecimal(0.12); // 根据订单号和利率计算实际的价格 String...
| 2016/6/14 | 数据库 | 被围观 1,257 views+
什么是分布式事务? 互联网应用中,随着系统用户数量的增多,访问压力也不断增大,数据功能相互独立的模块拆分开来,对其进行集群部署。 比如完成一笔交易,分别需要在交易模块,订单模块,用户数据模块中进行处理,分别做一些数据的更新或者入库,当三个模块都处理完毕之后,才算完成了这笔交易的事务。在这种分布式部署的系统中,需要处理的数据分布在不同的物理节点上,怎么去保证能处理完一笔交易之后的数据完整性呢,这就是分布式事务考虑的事情。 分布式事务如何处理 如何用消息系统避免分布式事务?这里提到的方案也是可行的,但是更常见的场景是,我们对接了第三方的支付,需要调用第三...
| 2014/11/12 | 数据库 | 被围观 2,068 views+
在代码中调用了一个新的方法,发现应用里面的相关功能慢了2~3秒钟酱。查看程序并没有特殊的处理,只是多了几条sql,新增了几个字段。那末,我们来抓一下慢语句看看,是否有优化的空间。 俗话说的好,在IT娱乐圈混的,怎能不学会分析SQL日志进行优化呢,首先来介绍一下MySQL中的慢语句分析的方法。 开启慢查询日志 在mysql会话中输入如下命令查看慢查询的配置: show variables like "%slow%"; log_slow_queries 这个就是慢查询的配置啦,如果没有需要在my.cnf里面配置一下喔。 分析日志的工具 mysqldumpslow 用法参考 http://dev.mysql.com/doc/refman/5.1/en/mysqldumpslow....
| 2014/8/31 | 数据库 | 被围观 3,018 views+
中小应用关系型数据库设计基本思路,个人见解,欢迎指正。 对于数据增长不大的A表,可以设计成一个表 A表 id(int) content(varchar 5000) audit_time(datetime) user_id(int) 1 外面下雨了 2014-08-31 00:10:12 1324 2 这是一个不错的主意 2014-08-31 00:12:12 2014 抽取大字段到另一个表中 对于数据增长比较大的A表,抽取出比较大的content字段,单独放入另一张B表中,从A表中移除该content字段; B表,把content字段抽取到这个表中,减小A表的大小: id(int) a_id(int) content(varchar 5000) 1 1 外面下雨了 2 2 这是一...
| 2014/7/13 | 数据库 | 被围观 2,001 views+
官网中数据类型描述如下: http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#column-type-overview 其中TEXT类型的长度是有限制的: TEXT[(M)] 最大长度为65,535(216–1)字符的TEXT列。 在写录入数据的程序的时候就得做好这方面的判断了,以免出现SQL异常。
| 2012/5/16 | 数据库 | 被围观 5,559 views+
1、BerkeleyDB的Java相关Jar包下载 可以从如下地址中下载到最新的BerkeleyDB的Java依赖包: http://www.oracle.com/us/products/database/berkeley-db/je/overview/index.html 2、 Java中BerkeleyDB的基本使用 在Java中BerekleyDB提供了丰富API,方便了对该数据库的操作,下面是一个创建BerkeleyDB的例子: 首先需要打开一个Database环境: public void createDBEnvironment() { if (myDBEnvironment != null) { return; } try { EnvironmentConfig config = new EnvironmentConfig(); config.setAllowCreate(true);// 如果不存在则创建一...
| 2012/2/7 | 数据库 | 被围观 15,106 views+
假如已经存储了document,现在想往document中添加一个description属性,可以这样更新: Mongo mongo = new Mongo(this.host, this.port); GridFS fs = new GridFS(mongo.getDB("database")); GridFSDBFile file = fs.find(new ObjectId(document.getId())); file.put("description", document.getDescription()); file.save(); 也可以使用DBCollection的update方法更新,代码如下: DBObject queryCondition=new BasicDBObject(); queryCondition.put("_id", document.getId()); Mongo mongo = new Mongo(this.host, this.port); DB db = mongo.getDB("database") DBCollectio...
| 2011/10/13 | 数据库 | 被围观 9,048 views+
SQL语言包含4个部分: ★ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 ★ 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 ★ 数据查询语言(DQL),例如:SELECT语句。 ★ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。 关于数据库编码的设置: 在MySQL设置向导中可以设置编码格式,如果设置成了UTF-8在命令行操作时需要注意一下几点: 建表前设置编码: set names utf8; 查询建表时用的字符集: show create table tablename; 为了能在Windows命令行执行insert,update,则执行命令: set character_set_client=g...
| 2011/7/28 | 数据库 | 被围观 7,544 views+
1191 [main] ERROR org.hibernate.util.JDBCExceptionReporter - Data too long for column 'type_visible' at row 1 1191 [main] ERROR org.hibernate.event.def.AbstractFlushingEventListener - Could not synchronize database state with session org.hibernate.exception.DataException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:100) Caused by: java.sql.BatchUpdateException: Data too long for column 'type_visible' at row 1 at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatemen...
随机文章 本月热门 热评
1 Java多线程FAQ汇总 2012/3/6
2 Android的桌面组件App Widget的使用方法 AppWidgetProvider RemoteViews 2011/7/13
3 Java基础笔记 – static与final关键字及其编写细节提示 2011/10/26
4 Hibernate一对一唯一外键关联映射的实现方法实例 2011/9/4
5 JVM笔记 – 高效并发(Java内存模型与线程) 2015/3/1
6 Java基础笔记 – 枚举类型的使用介绍和静态导入 2011/10/31
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.