海波无痕



文章分类

文章列表

C++连接mysql数据库
Jul-21-2010

环境win32、mingw、codelite
1、下载mysql Microsoft Windows 32. (ZIP format)
http://downloads.mysql.com/archives.php
获得mysql-noinstall-5.1.45-win32.zip,解压缩。
2、用 reimp.exe将libmysql.lib转换为libmysql.a
获取reimp.exe 从http://www.qtcn.org/download/mingw-utils-0.3.tar.gz解压缩
拷贝D:\mysql-5.1.45-win32\lib\opt\libmysql.lib到 reimp目录下。在cmd进入目录并执行
reimp libmysql.lib
执行完后产生liblibmysql.a和LIBMYSQL.def
将liblibmysql.a改名为libmysql.a,并拷贝回D:\mysql-5.1.45-win32\lib\opt\目录下
3、Complier-->Additional Search Path设置为
.;D:\mysql-5.1.45-win32\include;D:\MinGW\include\c++\3.4.5;D:\MinGW\include\c++\3.4.5\mingw32;D:\MinGW\include\c++\3.4.5\backward;D:\MinGW\include;
4、Linker-->Libray Path设置为
D:\MinGW\lib;D:\mysql-5.1.45-win32\lib\opt
      Linker-->Libraries设置为
libmysql;libwsock32;
5、编写程序
将D:\mysql-5.1.45-win32\lib\opt\libmysql.dll拷贝到C:\WINDOWS\system32目录下
main.cpp
#include "MySqlTestClass.h"
int main(int argc, char* argv[]){
 MySqlTestClass* myClass = new MySqlTestClass("127.0.0.1","3306","root","root","test1");
 myClass->testMysql();
    return 0;
}

MySqlTestClass.h
class MySqlTestClass
{
protected:
 char* dbAddress;
 char* dbPort;
 char* dbUser;
 char* dbPassword;
 char* dbName;
 
public:
 MySqlTestClass();
 MySqlTestClass(char* dbAddress,char* dbPort,char* dbUser,char* dbPassword,char* dbName);
 void testMysql();
};


MySqlTestClass.cpp
#include <MySqlTestClass.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <winsock.h>
#include <mysql.h>


MySqlTestClass::MySqlTestClass()
{
 
}

MySqlTestClass::MySqlTestClass(char* dbAddress,char* dbPort,char* dbUser,char* dbPassword,char* dbName)
{
 this->dbAddress=dbAddress;
 this->dbPassword=dbPort;
 this->dbUser=dbUser;
 this->dbPassword=dbPassword;
 this->dbName=dbName;
}


void MySqlTestClass::testMysql(){

 

 MYSQL mysql;
 MYSQL_RES *res;
 MYSQL_ROW row;
 char *query;
 int t,r;
 mysql_init(&mysql);
 if (!mysql_real_connect(&mysql,this->dbAddress,this->dbUser, this->dbPassword, this->dbName,0,NULL,CLIENT_MULTI_STATEMENTS))
 {
       printf( "Error connecting to database: %s\n",mysql_error(&mysql));
 }
 else printf("Connected...\n");
 query = "select * from user";

  
 t = mysql_real_query(&mysql,query,(unsigned int) strlen(query));
 if (t)
 {
  printf("Error making query: %s\n",
  mysql_error(&mysql));
 }else {
  printf("[%s] made...\n", query);
 }
 res = mysql_store_result(&mysql);
 while(row = mysql_fetch_row(res))
 {
  for(t=0;t<mysql_num_fields(res);t++)
  {
   printf("%s ",row[t]);
  }
 printf("\n");
 }
 
 printf("mysql_free_result...\n");
 mysql_free_result(res);

 

}
 

分类: c++      
jquery1.4.2对json数据实现了严格验证
Jul-18-2010

jquery1.4.2对json数据实现了严格验证,

数据吧属性值必须被双引号引起来,如

{"name":"hehe"} 正确

{name:"hehe"}错误,不能验证通过。

分类: JavaEE  javascript      
Tomcat7配置应用Context
Jul-13-2010

由于maven打出的包是xxx-xx-0.0.1.war包,如果放置到D:\apache-tomcat-7.0.0\webapps目录下,会自动以包名部署最后产生的contextpath为/xxx-xx-0.0.1(http://127.0.0.1:8080/xxx-xx-0.0.1)不好访问。
按照如下步骤更改应用的context
1)将xxx-xx-0.0.1.war包放置于非D:\apache-tomcat-7.0.0\webapps目录下
如D:\war\目录下
2)在D:\apache-tomcat-7.0.0\conf\Catalina\localhost增加 ${context}.xml,文件名跟你设置的contextpath相同
内容如下
<Context crossContext="true" reloadable="true" docBase="D:/war/xxx-xx-0.0.1.war" debug="0"/>
如命名为hello.xml 则最终访问的context为 /hello (http://127.0.0.1/hello
3)切忌不要将war包丢到D:\apache-tomcat-7.0.0\webapps目录下,否则自动部署和 hello.xml的部署会有冲突。

分类: JavaEE      
Tomcat7配置发布jndi数据源
Jul-13-2010

在D:\apache-tomcat-7.0.0\conf\context.xml中新增
 <Resource name="jdbc/xxx"
                  auth="Container"
                  type="javax.sql.DataSource"
                  driverClassName="com.mysql.jdbc.Driver"
                  validationQuery="SELECT 1"
                  loginTimeout="10"
                  maxWait="5000"
                  username="root"
                  password="root"
                  testOnBorrow="true"
                  url="jdbc:mysql://localhost:3306/xxx?user=root&amp;password=root&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;characterSetResults=UTF-8"
        />
 
将mysql-connector-java-5.1.7-bin.jar放置于D:\apache-tomcat-7.0.0\lib
 
配置spring
 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName"><value>java:comp/env/jdbc/xxx</value></property>
 </bean>
 
参考
http://wiki.apache.org/jakarta-commons/DBCP
http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html

分类: JavaEE      
总数1页(4记录) 1第一页上一页 下一页最后页