JDBC连接常用数据库

1、Oracle8/8i/9i数据库(thin模式)

    Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

    String url=”jdbc:oracle:thin:@localhost:1521:orcl”;

    //orcl为数据库的SID

    String user=”test”;

    String password=”test”;

    Connection conn= DriverManager.getConnection(url,user,password);

    2、DB2数据库

    Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();

    String url=”jdbc:db2://localhost:5000/sample”;

    //sample为你的数据库名

    String user=”admin”;

    String password=””;

    Connection conn= DriverManager.getConnection(url,user,password);

    3、Sql Server7.0/2000数据库

    Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();

    String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

    //mydb为数据库

    String user=”sa”;

    String password=””;

    Connection conn= DriverManager.getConnection(url,user,password);

    4、Sybase数据库

    Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();

    String url =” jdbc:sybase:Tds:localhost:5007/myDB”;

    //myDB为你的数据库名

    Properties sysProps = System.getProperties();

    SysProps.put(“user”,”userid”);

    SysProps.put(“password”,”user_password”);

    Connection conn= DriverManager.getConnection(url, SysProps);

    5、Informix数据库

    Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();

    String url =

    “jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

    user=testuser;password=testpassword”;

    //myDB为数据库名

    Connection conn= DriverManager.getConnection(url);

    6、MySQL数据库

    Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

    String url =”jdbc:mysql://localhost/myDB user=soft&password=soft1234&useUnicod

    e=true&characterEncoding=8859_1″

    //myDB为数据库名

    Connection conn= DriverManager.getConnection(url);

    7、PostgreSQL数据库

    Class.forName(“org.postgresql.Driver”).newInstance();

    String url =”jdbc:postgresql://localhost/myDB”

    //myDB为数据库名

    String user=”myuser”;

    String password=”mypassword”;

    Connection conn= DriverManager.getConnection(url,user,password);

hibernate的主键生成方式

Generator

可选的<generator>子元素是一个Java类的名字, 用来为该持久化类的实例生成唯一的标识。如果这个生成器实例需要某些配置值或者初始化参数, <param>元素来传递。

 

<id name=”id” type=”long” column=”cat_id”>

        <generator class=”org.hibernate.id.TableHiLoGenerator”>

                <param name=”table”>uid_table</param>

                <param name=”column”>next_hi_value_column</param>

        </generator>

</id>

所有的生成器都实现net.sf.hibernate.id.IdentifierGenerator接口。 这是一个非常简单的接口;某些应用程序可以选择提供他们自己特定的实现。当然, Hibernate提供了很多内置的实现。下面是一些内置生成器的快捷名字:

 

increment

用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。

 

identity

DB2,MySQL, MS SQL Server, SybaseHypersonicSQL的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。

 

sequence

DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence) 而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。

 

hilo

使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和字段(默认分别是是 hibernate_unique_key next_hi)作为高位值的来源。 /低位算法生成的标识符只在一个特定的数据库中是唯一的。

 

seqhilo

使用一个高/低位算法来高效的生成long, short 或者 int类型的标识符,给定一个数据库序列(sequence)的名字。

 

uuid

用一个128-bitUUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用了IP地址)。UUID被编码为一个3216进制数字的字符串。

 

guid

MS SQL Server MySQL 中使用数据库生成的GUID字符串。

 

native

根据底层数据库的能力选择identity, sequence 或者hilo中的一个。

 

assigned

让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。

 

select

通过数据库触发器选择一些唯一主键的行并返回主键值来分配一个主键。

 

foreign

使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。

hibernate主键生成器解释

Generator
可选的<generator>子元素是一个Java类的名字, 用来为该持久化类的实例生成唯一的标识。如果这个生成器实例需要某些配置值或者初始化参数, 用<param>元素来传递。

<id name=”id” type=”long” column=”cat_id”>
        <generator class=”org.hibernate.id.TableHiLoGenerator”>
                <param name=”table”>uid_table</param>
                <param name=”column”>next_hi_value_column</param>
        </generator>
</id>
所有的生成器都实现net.sf.hibernate.id.IdentifierGenerator接口。 这是一个非常简单的接口;某些应用程序可以选择提供他们自己特定的实现。当然, Hibernate提供了很多内置的实现。下面是一些内置生成器的快捷名字:

increment
用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。

identity
对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。

sequence
在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。

hilo
使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和字段(默认分别是是 hibernate_unique_key 和next_hi)作为高位值的来源。 高/低位算法生成的标识符只在一个特定的数据库中是唯一的。

seqhilo
使用一个高/低位算法来高效的生成long, short 或者 int类型的标识符,给定一个数据库序列(sequence)的名字。

uuid
用一个128-bit的UUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。

guid
在MS SQL Server 和 MySQL 中使用数据库生成的GUID字符串。

native
根据底层数据库的能力选择identity, sequence 或者hilo中的一个。

assigned
让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。

select
通过数据库触发器选择一些唯一主键的行并返回主键值来分配一个主键。

foreign
使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。

 

 

 

 

 

 

 

 

 

 

 

 

 

jdbc连接数据库

 JDBC连接数据库经验技巧集萃(1) 
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 

  一、连接各种数据库方式速查表 

  下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。 

  1、Oracle8/8i/9i数据库(thin模式) 



Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID 
String user="test"; 
String password="test"; 
Connection conn= DriverManager.getConnection(url,user,password);  

  2、DB2数据库 

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 
String user="admin"; 
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password);  

  3、Sql Server7.0/2000数据库 

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; 
//mydb为数据库 
String user="sa"; 
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password);  

  4、Sybase数据库 

Class.forName("com.sybase.jdbc.SybDriver").newInstance(); 
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 
Properties sysProps = System.getProperties(); 
SysProps.put("user","userid"); 
SysProps.put("password","user_password"); 
Connection conn= DriverManager.getConnection(url, SysProps);  

  5、Informix数据库 

Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; 
user=testuser;password=testpassword"; //myDB为数据库名 
Connection conn= DriverManager.getConnection(url);  

  6、MySQL数据库 

Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
String url ="jdbc:mysql://localhost/myDB user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
//myDB为数据库名 
Connection conn= DriverManager.getConnection(url);  

  7、PostgreSQL数据库 

Class.forName("org.postgresql.Driver").newInstance(); 
String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 
String user="myuser"; 
String password="mypassword"; 
Connection conn= DriverManager.getConnection(url,user,password);  

  8、access数据库直连用ODBC的 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; 
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb"); 
Connection conn = DriverManager.getConnection(url,"",""); 
Statement stmtNew=conn.createStatement() ;  

  二、JDBC连接MySql方式 

  下面是使用JDBC连接MySql的一个小的教程 

  1、查找驱动程序 

  MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯java驱动程序,不需做其他配置。 

  2、动态指定classpath 

  如果需要执行时动态指定classpath,就在执行时采用-cp方式。否则将上面的.jar文件加入到classpath环境变量中。 

  3、加载驱动程序 

try{ 
 Class.forName(com.mysql.jdbc.Driver); 
 System.out.println(Success loading Mysql Driver!); 
}catch(Exception e) 
{ 
 System.out.println(Error loading Mysql Driver!); 
 e.printStackTrace(); 
}  

  4、设置连接的url 

jdbc:mysql://localhost/databasename[ pa=va][&pa=va]  

  

Jdbc连接各种数据库代码方法大全

1、Oracle8/8i/9i数据库(thin模式)

Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

String url=”jdbc:oracle:thin:@localhost:1521:orcl”;

//orcl为数据库的SID

String user=”test”;

String password=”test”;

Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();

String url=”jdbc:db2://localhost:5000/sample”;

//sample为你的数据库名

String user=”admin”;

String password=””;

Connection conn= DriverManager.getConnection(url,user,password);

3、Sql Server7.0/2000数据库

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();

String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

//mydb为数据库

String user=”sa”;

String password=””;

Connection conn= DriverManager.getConnection(url,user,password);

4、Sybase数据库

Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();

String url =” jdbc:sybase:Tds:localhost:5007/myDB”;

//myDB为你的数据库名

Properties sysProps = System.getProperties();

SysProps.put(“user”,”userid”);

SysProps.put(“password”,”user_password”);

Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix数据库

Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();

String url =

“jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

user=testuser;password=testpassword”;

//myDB为数据库名

Connection conn= DriverManager.getConnection(url);

6、MySQL数据库

Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

String url =”jdbc:mysql://localhost/myDB user=soft&password=soft1234&useUnicod

e=true&characterEncoding=8859_1″

//myDB为数据库名

Connection conn= DriverManager.getConnection(url);

7、PostgreSQL数据库

Class.forName(“org.postgresql.Driver”).newInstance();

String url =”jdbc:postgresql://localhost/myDB”

//myDB为数据库名

String user=”myuser”;

String password=”mypassword”;

Connection conn= DriverManager.getConnection(url,user,password);

JDBC连接各种数据库方法

1、Oracle8/8i/9i数据库(thin模式)

    Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();
    String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
    //orcl为数据库的SID
    String user=”test”;
    String password=”test”;
    Connection conn= DriverManager.getConnection(url,user,password);

    2、DB2数据库

    Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();
    String url=”jdbc:db2://localhost:5000/sample”;
    //sample为你的数据库名
    String user=”admin”;
    String password=””;
    Connection conn= DriverManager.getConnection(url,user,password);

    3、Sql Server7.0/2000数据库

    Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();
    String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;
    //mydb为数据库
    String user=”sa”;
    String password=””;
    Connection conn= DriverManager.getConnection(url,user,password);

    4、Sybase数据库

    Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();
    String url =” jdbc:sybase:Tds:localhost:5007/myDB”;
    //myDB为你的数据库名
    Properties sysProps = System.getProperties();
    SysProps.put(“user”,”userid”);
    SysProps.put(“password”,”user_password”);
    Connection conn= DriverManager.getConnection(url, SysProps);

    5、Informix数据库

    Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();
    String url =
    “jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
    user=testuser;password=testpassword”;
    //myDB为数据库名
    Connection conn= DriverManager.getConnection(url);

    6、MySQL数据库

    Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
    String url =”jdbc:mysql://localhost/myDB user=soft&password=soft1234&useUnicod
    e=true&characterEncoding=8859_1″
    //myDB为数据库名
    Connection conn= DriverManager.getConnection(url);

    7、PostgreSQL数据库

    Class.forName(“org.postgresql.Driver”).newInstance();
    String url =”jdbc:postgresql://localhost/myDB”
    //myDB为数据库名
    String user=”myuser”;
    String password=”mypassword”;
    Connection conn= DriverManager.getConnection(url,user,password);

 

mysql-5.5.11+nginx-1.0.0+php-5.3.6安装文档

服务器配置

型号:DELL 2650
CPU:Xeon 3.20GHz * 2
内存:4G DDR266
硬盘:SCSI 10Krpm 146G RAID 1

#author:wubolu
#date:20110413
#system:CentOS 5.6 i386
#mysql-5.5.11 + nginx-1.0.0 + php-5.3.6

自动校对时间
crontab -l
1 4 * * * ntpdate 210.72.145.44

安装前首先使用yum命令安装、升级所需的程序库
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libxslt-devel libevent-dev ntp

——————————   安装 MySQL 部分    ——————————
创建mysql用户
groupadd mysql
useradd -g mysql mysql

安装cmake
tar zxvf cmake-2.8.4.tar.gz

安装mysql
tar zxvf mysql-5.5.9.tar.gz
MY_dir=”/usr/local/mysql”
cmake -DCMAKE_INSTALL_PREFIX=”$MY_dir” -DDEFAULT_CHARSET=utf8  -DMYSQL_DATADIR=”$MY_dir/”data/  -DCMAKE_INSTALL_PREFIX=”$MY_dir” -DSYSCONFDIR=”$MY_dir” -DDEFAULT_COLLATION=utf8_general_ci -DENABLE_DEBUG_SYNC=0 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DWITH_READLINE=1 .
make
make install
./mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql
使用my-large.cnf模板
cp mysql/support-files/my-large.cnf ../my.cnf
添加慢查询日志及其他一些设置
[mysqld]
slow-query-log = 1
slow-query-log-file = /usr/local/mysql/data/slow.log
default-storage-engine = MyISAM
character-set-server = utf8       #如果不指定这个,程序连接可能导致乱码。查看mysql> show variables like ‘%character%’
wait_timeout = 300                #对当前连接有效。
interactive_timeout = 300         #对后续连接

修改权限
chown -R mysql:mysql /usr/local/mysql

——————————   安装 Nginx 部分    ——————————

指定以后的HTTP文件目录
groupadd www
useradd -g www www
mkdir -p /usr/local/chong.com/
chmod +w /usr/local/chong.com/
chown -R www:www /usr/local/chong.com/

安装PCRE
[root@205053 tmp]# rpm -qa |grep pcre     #查看自带的PCRE。
pcre-6.6-6.el5
[root@205053 tmp]# cp /lib/libpcre.so.0 /    #备份libpcre.so.0,32位系统在lib下,64位系统在lib64下。
[root@205053 tmp]# rpm -e –nodeps pcre-6.6-6.el5     #删除自带的PCRE。
[root@205053 tmp]# cp /libpcre.so.0 /lib     #恢复libpcre.so.0到lib
开始安装
tar zxvf pcre-8.12.tar.gz
cd pcre-8.12
./configure
make && make install

安装Nginx
tar zxvf nginx-1.0.0.tar.gz
cd nginx-1.0.0
./configure –user=www –group=www –prefix=/usr/local/nginx
make && make install
#修改好配置文件,启动就可以访问到Welcome to nginx!
–NGINX:

user  www www;
worker_processes  4;
error_log  logs/error.log;
pid        nginx.pid;

events {
    worker_connections  10240;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name www.wubolutest.com;
        root    /usr/local/chong.com;
        index  index.php index.html index.htm;
        access_log  off;
        error_page  404              /index.php;
        error_page   500 502 503 504  /50x.html;
 

        location ~* ^.+.(jpg|jpeg|gif|css|png|js|html|htm)$ {
              expires           1d;
              break;
        }

        location ~* ^/(images|javascript|js|css|flash|media|static)/ {
              expires 1d;
        }

        location ~* ^.+.(php|php5)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/chong.com/$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

}

——————————   安装 PHP 部分    ——————————

程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展 mcrypt, mcrypt软件依赖libmcrypt和mhash两个库。

1.安装Libmcrypt
tar jxvf libmcrypt-2.5.8.tar.bz2
cd libmcrypt-2.5.8
./configure
make &&make install

1.1
cd libmcrypt-2.5.8/libltdl/
./configure –enable-ltdl-install
make && make install

 
2.安装mhash
tar -zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
 
3.安装mcrypt
tar -zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/lib ./configure  #如果不加环境变量LD_LIBRARY_PATH=/usr/local/lib的话,会提示找不到libmcrypt链接库
make && make install

#在编译的最后加入./configure  –with-mcrypt –with-mhash -with-libxml-dir –enable-bcmath –enable-sockets

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/ #64位系统在/usr/lib64/

5.3.3 开始源码中开始包含 php-fpm,不用专门再打补丁了,只需要解开源码直接configure,关于php-fpm的编译参数有–enable-fpm –with-fpm-user=www –with-fpm-group=www
tar zxvf php-5.3.6.tar.gz
cd php-5.3.6
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-pdo –with-pdo-mysql=/usr/local/mysql –enable-safe-mode –enable-ftp –enable-zip –with-bz2 –with-jpeg-dir –with-png-dir=/usr/local/png –with-freetype-dir –without-iconv –with-mcrypt –with-mhash -with-libxml-dir –enable-bcmath –with-XMLrpc –with-zlib-dir –with-gd –enable-gd-native-ttf –with-curl –with-curlwrappers –with-pear –enable-calendar –enable-mbstring –enable-sockets –enable-exif –enable-magic-quotes –disable-rpath –disable-debug  –enable-fpm  –enable-fpm –enable-sqlite-utf8
make
make install

— 建立php.ini配置文件,其中 php.ini-production 是用于生产环境稳定配置,php.ini-development 为开发环境专用。
cp php.ini-production /usr/local/php/etc/php.ini

— 修改 php.ini 部分内容
  修改为output_buffering = On
  修改为cgi.fix_pathinfo=0,防止Nginx文件类型错误解析漏洞。

— 去掉注释

       pm.max_spare_servers = 35  设置空闲服务进程的最大数目
       pm.min_spare_servers = 5   设置空闲服务进程的最低数目
       pm.start_servers = 20      设置启动时创建的子进程数目

–配置 FPM,cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

修改 php-fpm.conf
  user = www
   group = www

或者直接使用下面内容:
[global]
[www]
listen = 127.0.0.1:9000
user = www
group = www
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35

— php.ini或者直接使用以下内容配置 PHP,ini文件在源文件包内有 php.ini-development和php.ini-production, 一个是开发版, 一个是产品版,将其中一个拷贝到/usr/local/php/etc/php.ini, 设置如下:
[PHP]
engine = On
short_open_tag = On
asp_tags = Off
precision = 14
y2k_compliance = On
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 100
allow_call_time_pass_reference = Off
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL | E_STRICT
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
html_errors = On
variables_order = “GPCS”
request_order = “GP”
register_globals = Off
register_long_arrays = Off
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = “text/html”
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[Date]
date.timezone = PRC
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[Syslog]
define_syslog_variables  = Off
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = “%Y-%m-%d %H:%M:%S”
ibase.dateformat = “%Y-%m-%d”
ibase.timeformat = “%H:%M:%S”
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = On
[OCI8]
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = On
session.bug_compat_warn = On
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = “a=href,area=href,frame=src,input=src,form=fakeentry”
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir=”/tmp”
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]

 

优化 linux 内核,在/etc/sysctl.conf最后加入:

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_keepalive_intvl = 15

在CentOS下运行Java程序时经常会由于一些原因导致出现Too many open files的异常,ulimit -a默认open files为1024

vim /etc/security/limits.conf 加入

 

#<domain>      <type>  <item>         <value>

 

*  soft nofile 65535

*  hard nofile 65535

Hibernate3.0英文教程

http://www.roseindia.net/hibernate/index.shtml

 

来由是朝着generator:

 

Here are the list of some commonly used generators in
hibernate:

Generator Description
increment It generates identifiers of type long, short or int that
are unique only when no other process is inserting data into the same
table. It should not the used in the clustered environment.
identity It supports identity columns in DB2, MySQL, MS SQL Server,
Sybase and HypersonicSQL. The returned identifier is of type long, short
or int.
sequence The sequence generator uses a sequence in DB2, PostgreSQL,
Oracle, SAP DB, McKoi or a generator in Interbase. The returned
identifier is of type long, short or int
hilo The hilo generator uses a hi/lo algorithm to efficiently
generate identifiers of type long, short or int, given a table and
column (by default hibernate_unique_key and next_hi respectively) as a
source of hi values. The hi/lo algorithm generates identifiers that are
unique only for a particular database. Do not use this generator with
connections enlisted with JTA or with a user-supplied connection.
seqhilo The seqhilo generator uses a hi/lo algorithm to
efficiently generate identifiers of type long, short or int, given a
named database sequence.
uuid The uuid generator uses a 128-bit UUID algorithm to
generate identifiers of type string, unique within a network (the IP
address is used). The UUID is encoded as a string of hexadecimal digits
of length 32.
guid It uses a database-generated GUID string on MS SQL Server
and MySQL.
native It picks identity, sequence or hilo depending upon the
capabilities of the underlying database.
assigned lets the application to assign an identifier to the object
before save() is called. This is the default strategy if no
<generator> element is specified.
select retrieves a primary key assigned by a database trigger by
selecting the row by some unique key and retrieving the primary key
value.
foreign uses the identifier of another associated object. Usually
used in conjunction with a <one-to-one> primary key association.

jdbc连接数据库

1、Oracle8/8i/9i数据库(thin模式)

    Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

    String url=”jdbc:oracle:thin:@localhost:1521:orcl”;

    //orcl为数据库的SID

    String user=”test”;

    String password=”test”;

    Connection conn= DriverManager.getConnection(url,user,password);

    2、DB2数据库

    Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();

    String url=”jdbc:db2://localhost:5000/sample”;

    //sample为你的数据库名

    String user=”admin”;

    String password=””;

    Connection conn= DriverManager.getConnection(url,user,password);

    3、Sql Server7.0/2000数据库

    Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();

    String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

    //mydb为数据库

    String user=”sa”;

    String password=””;

    Connection conn= DriverManager.getConnection(url,user,password);

    4、Sybase数据库

    Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();

    String url =” jdbc:sybase:Tds:localhost:5007/myDB”;

    //myDB为你的数据库名

    Properties sysProps = System.getProperties();

    SysProps.put(“user”,”userid”);

    SysProps.put(“password”,”user_password”);

    Connection conn= DriverManager.getConnection(url, SysProps);

    5、Informix数据库

    Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();

    String url =

    “jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

    user=testuser;password=testpassword”;

    //myDB为数据库名

    Connection conn= DriverManager.getConnection(url);

    6、MySQL数据库

    Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

    String url =”jdbc:mysql://localhost/myDB user=soft&password=soft1234&useUnicod

    e=true&characterEncoding=8859_1″

    //myDB为数据库名

    Connection conn= DriverManager.getConnection(url);

    7、PostgreSQL数据库

    Class.forName(“org.postgresql.Driver”).newInstance();

    String url =”jdbc:postgresql://localhost/myDB”

    //myDB为数据库名

    String user=”myuser”;

    String password=”mypassword”;

    Connection conn= DriverManager.getConnection(url,user,password);

JAVA连接各种数据库的JDBC驱动下载及连接字符串URL写法

实例

1.Access

package samz; 

   

  import java.sql.*; 

    

   public class AccessTest { 

     

       public Connection conn = null; 

       public Statement sta = null; 

        public ResultSet rs = null; 

      

     public String url=”jdbc:odbc:db1″; 

      public String userName=”wang”; 

        

     public firstTest() { 

           try {               Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”).newInstance();        //保证相应的Driver类已经被加载到jvm中, 

                                                                                  //并且完成了类的初始化工作 

         } catch (InstantiationException e) { 

              // TODO Auto-generated catch block 

            e.printStackTrace(); 

          } catch (IllegalAccessException e) { 

             // TODO Auto-generated catch block 

              e.printStackTrace(); 

         } catch (ClassNotFoundException e) { 

              // TODO Auto-generated catch block 

             e.printStackTrace(); 

              System.out.println(“装载失败!”); 

  29.             return; 

  30.         } 

  31.          

  32.         try { 

  33.             conn = DriverManager.getConnection(url,userName,password); 

  34.         } catch (SQLException e) { 

  35.             // TODO Auto-generated catch block 

  36.             e.printStackTrace(); 

  37.             System.out.println(“连接成功 !”); 

  38.             return; 

  39.         } 

  40.          

  41.         try { 

  42.             sta = conn.createStatement(); 

  43.         } catch (SQLException e) { 

  44.             // TODO Auto-generated catch block 

  45.             e.printStackTrace(); 

  46.             System.out.println(“成功 !”);  

  47.             return; 

  48.         } 

  49.     } 

  50.      

  51.     public void getAll(String sql) { 

  52.         try { 

  53.             rs = sta.executeQuery(sql); 

  54.             while(rs.next()) { 

  55.                 System.out.print(rs.getInt(1)+”\t”); 

  56.                 System.out.print(rs.getString(2)+”\t”); 

  57.                 System.out.println(rs.getInt(3)); 

  58.             } 

  59.         } catch (SQLException e) { 

  60.             // TODO Auto-generated catch block 

  61.             e.printStackTrace(); 

  62.             System.out.println(“error”); 

  63.             return; 

  64.         } 

  65.     } 

  66.      

  67.     public static void main(String[] args) { 

  68.         // TODO Auto-generated method stub 

  69.         firstTest ft = new firstTest(); 

  70.         ft.getAll(“Select * from db1”); 

  71.     } 

  72. }

2.mysql

以下内容来自互联网(如有版权及其他问题请留言,我会尽快修正)

1. MySQL(

JDBC API的使用方法

(1)登记并加载JDBC驱动程序;

两种方法:

Class.forName(String drivername);

DriverManager.registerDriver(Driver driver)

(2)建立与SQL数据库的连接;

DriverManager的getConnection()方法:

Connection getConnection(String url):url表示数据库地址字符串;

Connection getConnection(String url,String user,String pwd)

Connection getConnection(String url,Properties info)

(3)传送一个SQL查询;

Connection的createStatement()方法:

Statement createStatement();

Statement可以执行SQL语句,得到SQL查询结果。

(4)获得结果集。

Statement的执行SQL语句方法:

ResultSet executeQuery(String sql):执行select语句

int executeUpdate(String sql):执行更新语句,如insert,delete,update.

(5)检索查询结果。

ResultSet的方法:

boolean next():没有行时返回false;

String getString(String columnName):返回列名对应的值。

1. MySQL(

Class.forName( “org.gjt.mm.mysql.Driver” );     //这是老版本的字符串现为 com.mysql.jdbc.Driver

cn = DriverManager.getConnection( “jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName”, sUsr, sPwd );

2. PostgreSQL(

Class.forName( “org.postgresql.Driver” );

cn = DriverManager.getConnection( “jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName”, sUsr, sPwd );

3. Oracle(

Class.forName( “oracle.jdbc.driver.OracleDriver” );

cn = DriverManager.getConnection( “jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL”, sUsr, sPwd );

4. Sybase

Class.forName( “com.sybase.jdbc2.jdbc.SybDriver” );

cn = DriverManager.getConnection( “jdbc:sybase:Tds:MyDbComputerNameOrIP:2638”, sUsr, sPwd );

//(Default-Username/Password: “dba”/”sql”)

5. Microsoft SQLServer()

Class.forName( “net.sourceforge.jtds.jdbc.Driver” );

cn = DriverManager.getConnection( “jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master”, sUsr, sPwd );

6. Microsoft SQLServer()

Class.forName( “com.microsoft.jdbc.sqlserver.SQLServerDriver” );

cn = DriverManager.getConnection( “jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master”, sUsr, sPwd );

7. ODBC  (access)

Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );

Connection cn = DriverManager.getConnection( “jdbc:odbc:” + sDsn, sUsr, sPwd );

8.DB2(新添加)

Class.forName(“com.ibm.db2.jdbc.net.DB2Driver”);

String url=”jdbc:db2://192.9.200.108:6789/SAMPLE”

cn = DriverManager.getConnection( url, sUsr, sPwd );

9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10

JDBC Name: jTDS

URL:

语法:

Class.forName(“net.sourceforge.jtds.jdbc.Driver “);

Connection con = DriverManager.getConnection(“jdbc:jtds:sqlserver://host:port/database”,”user”,”password”);

or

Connection con = DriverManager.getConnection(“jdbc:jtds:sybase://host:port/database”,”user”,”password”);

10.Postgresql

JDBC Name: PostgreSQL JDBC

URL:

语法:

Class.forName(“org.postgresql.Driver”);

Connection con=DriverManager.getConnection(“jdbc:postgresql://host:port/database”,”user”,”password”);

11.IBM AS400主机在用的JDBC语法

有装V4R4以上版本的Client Access Express

可以在C:\Program Files\IBM\Client Access\jt400\lib

找到 driver 档案 jt400.zip,并更改扩展名成为 jt400.jar

语法:

java.sql.DriverManager.registerDriver (new com.ibm.as400.access.AS400JDBCDriver ());

Class.forName(“com.ibm.as400.access.AS400JDBCConnection”);

con = DriverManager.getConnection(“jdbc:as400://IP”,”user”,”password”);

12.informix

Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();

String url =

“jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;

user=testuser;password=testpassword”;

Lib:jdbcdrv.zip

Class.forName( “com.sybase.jdbc.SybDriver” )

url=”jdbc:sybase:Tds:127.0.0.1:2638/asademo”;

SybConnection connection= (SybConnection)DriverManager.getConnection(url,”dba”,”sql”);

13.SAP DB

Class.forName (“com.sap.dbtech.jdbc.DriverSapDB”);

java.sql.Connection connection = java.sql.DriverManager.getConnection ( “jdbc:sapdb://” + host + “/” + database_name,user_name, password)

14.InterBase

String url = “jdbc:interbase://localhost/e:/testbed/database/employee.gdb”;

Class.forName(“interbase.interclient.Driver”);

//Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */

Connection conn = DriverManager.getConnection( url, “sysdba”, “masterkey” );

15.HSqlDB

url:

driver: org.hsqldb.jdbcDriver

连接方式有4种,分别为:

con-str(内存): jdbc:hsqldb.

con-str(本地): jdbc:hsqldb:/path/to/the/db/dir

con-str(http): jdbc:hsqldb:http://dbsrv

con-str(hsql): jdbc:hsqldb:hsql://dbsrv

  注:原著http://tech.e800.com.cn/articles/2009/616/1245115720109_1.html