- 浏览: 31556 次
- 性别:
- 来自: 杭州
-
最新评论
文章列表
log4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEB ...
连接池的设计
1.driver,jdbc,username,password
2.连接池内部维护一个忙的连接列表,一个空闲连接列表
3.初始化连接池,即创建最小连接数个空闲连接,放到空闲连接列表中。
4.有需要来取链接时,看下空闲连接表中有无可用连接,如果有,将这个链接放到忙的连接列表中,并将此链接返回。如果没有,并且忙的连接列表的个数没达到最大连接数,则创建一个连接,将这个连接放到忙的连接列表中,将此链接返回。如果已经达到最大连接数,等待一段时间(timeout,有默认值,或者外部参数传入),重新检测是否有空闲连接,有返回,没有,直接返回空。
5.一个连接使用完毕后,释放连接, ...
mysql> SET @auto_increment_increment=10;
mysql> SHOW VARIABLES LIKE 'auto_inc%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ ...
在linux下,大家常使用md5算法对文件进行签名。
对于md5sum 命令的说明 参考链接 http://baike.baidu.com/view/1919192.htm
平时在程序中也时常需要对文件进行md5签名,代码如下
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.code ...
对于linux新手来说,最感到迷惑的问题之一就是文件都存在哪里呢?特别是对于那些从windows转过来的新手来说,linux的目录结构看起来有些奇怪哦。所以,在这里讲一下linux下的主要目录以及它们都是用来干什么的。 / This is the root directory. The mothership. The home field. The one and only top directory for your whole computer. Everything, and I mean EVERYTHING starts here. When you type '/home' ...
在Linux下安装配置Solr的过程:wget http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.zipunzip apache-tomcat-6.0.16.zipmv apache-tomcat-6.0.16 /opt/tomcatchmod 755 /opt/tomcat/bin/*wget http://apache.mirror.phpchina.com/lucene/solr/1.2/apache-solr-1.2.0.tgztar zxvf apache-solr-1. ...
昨天crontab中的同步任务没有执行,不知道是什么原因没有执行,貌似任务hang住了,想查询一下crontab到底问题出在哪里,或者hang在了什么地方。 1. linux看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察 2. unix在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。 3. mail任务在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可 ...
1.ERROR 1044 (42000): Access denied for user 'tracy'@'localhost' to database 'innodbTest'
tracy这个用户,没有权限创建用户
使用root用户登录,运行如下命令
mysql >create database innodb_test;
mysql>grant all on innodb_test to tracy@localhost;
退出使用tracy用户登录,就可以使用innodb这张表了。
或者给tracy这个用户赋予所有数据库的操作权限:
g ...
1.进入mysql客户端
mysql -u username -p
提示输入密码
2.显示有哪些数据库
show databases;
3.进入某个数据库
use <dbname>;
4.显示这个数据库中的所有表
show tables;
5.退出
exit;
6.创建某个数据库
create database innodb_test;
7.删除数据库
drop database innodb_test;
8.授权.
所有数据库权限:
grant all on * ...
1.在mysql客户端,输入以下命令
mysql>show variables like 'have_%';
图中显示 have_innodb yes,说明此mysql 数据库是支持innodb的。
2.创建innodb 的表
create table test (id bigint(20),name varchar(50)) type = innoDB;
3.查看表的属性
show table status from innodb_test;
可以看到这张表的engine使用的是innodb
4.i ...
使用Ibatis时,只需要把sql语句写好,指明需要注入的参数对应对象中的属性就可以了。这样极大的提高了开发效率。
我在工作过程中,遇到了一些场景,需要自己去直接连接JDBC写数据库,我又想模拟Ibatis自动补全参数的功能,所以就写了下面的这些代码。欢迎指证批评。
创建数据库连接的代码
import java.sql.Connection;
import java.sql.DriverManager;
/**
* 2012-8-9 tracy.liuy
*/
public class DbConnection {
public Connec ...
创建JDBC的基础类
import java.sql.Connection;
import java.sql.DriverManager;
/**
* 2012-8-9 tracy.liuy
*/
public class DbConnection {
public Connection conn = null;
public DbConnection(String driver, String url, String user, String password){
try {
// 注册驱动程 ...
awk -F, '{sum+=$10}END{printf "sum=%.2f",sum}' B2B_BILLDLY201206120000.REC
awk -F, 'BEGIN {sum=0;sum1=0} {if($18==1){sum+=$13}else{sum1+=$13}}END{printf "sum=%.2f,sum1=%.2f\n",sum,sum1}' B2B_BILLDLY201206120000.OK.REC
awk -F, 'BEGIN{sum=0;sum1=0}{if($7==1){sum+=$3}else{sum1+=$3} ...
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is ...
在结算改造项目和Mysql迁移项目中,结算遇到了一些性能问题。 在性能优化的过程中,根据不同的场景采用了不同的方法来解决遇到的问题。我把处理的过程和采用的方法发出来,大家来看下是否这些方法得当。
一、 全量检查 ...