node连接数据库(express+mysql)
http://www.cnblogs.com/maskmtj/p/5006651.html
操作是在ubuntu系统的下环境,简单记录一下过程。
首先用apt-get安装数据库,键入命令 sudo apt-get install mysql-server , 一路回车,然后在一个界面设置一下数据库root的密码就好了
在数据库里面我们需要创建一些东西。键入 mysql -uroot -p××××× 来进入sql控制台。
1.先创建数据集 create database databasename ;
2.use database databasename ;
3.建表(这里创建一个很简单的,只有自增id,用户名和密码)
create table user_info (
id int(11) not null auto_increment,
username varchar(30) not null,
password varchar(30) not null,
primary key ( id )
)ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
4.插入一条数据 insert into user_info values(1,'mtjss2','123456') ;
下面是node的部分
创建一个文件夹,比如叫myapp,在里面npm init之后就会也node_modules的依赖文件夹
用 npm install --save 安装如下依赖
1.express
2.mysql
3.body-parser(用来解析post参数)
由于express好像没有自己的数据库封装,所以一般会新建models文件夹,然后写数据库的逻辑,如果只是想简单测试可以直接写在app.js中
这里举例在models下有一个user.js的逻辑封装类,暂时只有一个通过username获取用户信息的方法,其他可以以后加
var mysql = require('mysql') ;
//connection config
var connection = mysql.createConnection({
host : 'localhost' ,
user : 'root' ,
password : '123456' ,
database : 'my_box'
});
function User(user){
this.username = user.username ;
this.password = user.password ;
}
User.getUserbyUsername = function(username,callback){
var selectSql = 'select * from user_info where username = ?' ;
connection.query(selectSql,[username],function(err,res){
¦ if(err){
¦ ¦ console.log('getUserbyUsername err:' + err) ;
¦ ¦ return ;
¦ }
¦ console.log('Get name success') ;
¦ callback(err,res) ;
}) ;
} ;
module.exports = User ;
再贴一下app.js暂时没写路由,就是对/和/reg方法的处理
var mysql = require('mysql') ;
//connection config
var connection = mysql.createConnection({
host : 'localhost' ,
user : 'root' ,
password : '123456' ,
database : 'my_box'
});
function User(user){
this.username = user.username ;
this.password = user.password ;
}
User.getUserbyUsername = function(username,callback){
var selectSql = 'select * from user_info where username = ?' ;
connection.query(selectSql,[username],function(err,res){
¦ if(err){
¦ ¦ console.log('getUserbyUsername err:' + err) ;
¦ ¦ return ;
¦ }
¦ console.log('Get name success') ;
¦ callback(err,res) ;
}) ;
} ;
module.exports = User ;
index.html这个主页面在views文件夹下,没什么代码,不过也贴一下
<!DOCTYPE html>
<html>
<head>
<title>my box</title>
</head>
<body>
<form action="/reg" method="post">
<input type="text" name="username"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
这样用 node app.js 启动以后在浏览器里访问 localhost:3000就行了,在input里输入数据库中的用户名可以的得到那条数据。


浙公网安备 33010602011771号