MySql连接数据库和操作(java)

package org.wxd.weixin.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MySQLUtil {
  public Connection getConnection(){
  Connection conn = null;
  String url ="jdbc:mysql://IP地址/数据库";
  String user ="用户名";
  String password ="密码";
try {

  Class.forName("com.mysql.jdbc.Driver");
  conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
  return conn;
}

/**
* 释放资源
*/
public void releaseResource(Connection conn, PreparedStatement ps,ResultSet rs){
  try {
    if(null != rs)
      rs.close();
    if(null != ps)
      ps.close();
    if(null != conn)
      conn.close();
} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}

//保存用户信息
public static void saveWeixinUser(String openId){
MySQLUtil mysql = new MySQLUtil();
Connection conn = mysql.getConnection();
PreparedStatement ps = null;
String sql = "insert into weixin_user(open_id,subscribe_time,subscribe_status) values(?,now(),1)";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, openId);
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}finally {
mysql.releaseResource(conn,ps,null);
}

}

//保存用户签到信息
public static void saveWeixinSign(String openId,int signPoints){
MySQLUtil mysql = new MySQLUtil();
Connection conn = mysql.getConnection();
PreparedStatement ps = null;
String sql = "insert into weixin_sign(open_id,sign_time,sign_points) values(?,now(),?)";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, openId);
ps.setInt(2, signPoints);
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}finally {
mysql.releaseResource(conn,ps,null);
}

}

//更新用户总积分
public static void updateUserPoints(String openId,int signPoints){
MySQLUtil mysql = new MySQLUtil();
Connection conn = mysql.getConnection();
PreparedStatement ps = null;
String sql = "update weixin_user set points=points+? where open_id=?";
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, signPoints);
ps.setString(2, openId);
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}finally {
mysql.releaseResource(conn,ps,null);
}
}

//查询用户总积分
public static String selectUserPoints(String openId){
MySQLUtil mysql = new MySQLUtil();
Connection conn = mysql.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select points from weixin_user where open_id=?";
String points = null;
try {
ps = conn.prepareStatement(sql);
ps.setString(1, openId);
rs = ps.executeQuery();
if(rs.next()){
points = rs.getString("points");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
mysql.releaseResource(conn,ps,rs);
}
return points;
}

//判断用户今天是否签到
public static boolean isTodaySigned(String openId){
boolean result = false;

MySQLUtil mysql = new MySQLUtil();
Connection conn = mysql.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(*) as signCounts from weixin_sign where open_id=? and date_format(sign_time,‘%Y-%m-%d‘)=date_format(now(),‘%Y-%m-%d‘)";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, openId);
rs = ps.executeQuery();

int signCounts = 0;

if(rs.next()){
signCounts = rs.getInt("signCounts");
}
if(1 == signCounts)
result = true;

} catch (SQLException e) {
e.printStackTrace();
}finally {
mysql.releaseResource(conn,ps,rs);
}
return result;
}

/**
* 判断用户本周是否第七次签到
*
* @param openId 用户openid
* @param monday 本周周一的日期时间
* @return
*/
public static boolean isSevenSign(String openId,String monday){
boolean result = false;

MySQLUtil mysql = new MySQLUtil();
Connection conn = mysql.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select conut(*) as signCounts from weixin_sign where open_id=? and sign_time between str_to_date(?,‘%Y-%m-%d %H:%i:%s‘) and now()";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, openId);
ps.setString(2, monday);
rs = ps.executeQuery();

int signCounts = 0;

if(rs.next()){
signCounts = rs.getInt("signCounts");
}
if(6 == signCounts)
result = true;

} catch (SQLException e) {
e.printStackTrace();
}finally {
mysql.releaseResource(conn,ps,rs);
}
return result;
}
}

时间: 2024-10-14 03:13:53

MySql连接数据库和操作(java)的相关文章

Mysql连接数据库的操作

$link=mysql_connect("ip","数据库名",密码); mysql_select_db("库名",$link); mysql_query("set names utf8"); $sql = "select id,name from brand"; $arr = mysql_query($sql); //执行sql语句 PDO连接数据库方法: 什么是PDO? PDO是PHP data Obj

MySQL常用指令,java,php程序员,数据库工程师必备。程序员小冰常用资料整理

MySQL常用指令,java,php程序员,数据库工程师必备.程序员小冰常用资料整理 MySQL常用指令(备查) 最常用的显示命令: 1.显示数据库列表. show databases; 2.显示库中的数据表: use mysql; show tables; 3.显示数据表的结构: describe 表名; 4.建库: create database 库名; 5.建表: use 库名: create table 表名 (字段设定列表): 6.删库和删表: drop database 库名; dr

服务器用JDBC对mysql数据库进行操作

1:获取数据库连接 Connection connection=getConnection(); 2:准备SQL语句 3:调用Connection的creatStatement()方法获取Statement对象执行SQL语句 (注:Statement对象处理的SQL语句只能是INSERT,UPDATE或DELETE) statement=connection.createStatement(); statement.execute(SQL); 4:关闭Statement对象 5:关闭数据库连接

通过bat文件 进行mysql 连接 或者 操作涉及 密码的,如果密码 中有 % 号的话要特殊处理

比如我想在bat文件中进行一个数据库的连接 或者进行一个数据库中的 数据 导入或者导出(mysqldump) 这样子都会用到数据库密码, 假如这个数据库的密码 中又有 % 的话就要特殊转义一下才行执行这个bat文件了,不然 这个密码其实就是错误的,即没法操作到数据库的了,因为Windows的命令行解释器 在解释 % 时 是会把 % 看出一个特殊的字符,即转义的字符,即有特殊含义的,所以假如密码中有%  那要按照 2个% 转义成一个 %,4个%转义成2个% 这样子规则来重新修改一下密码才行,不然

边记边学PHP-(十四)MySql数据库基础操作1

提到数据库,相信都不陌生.比较常见的是SQL Server . Oracle.Access.SQLite等等.当然还有PHP的黄金搭档,MySql数据库.当然我所写的都是MySql的一些基础,我还没有深入的学习这个数据库.深入学习还需要一段时间.但是现在学的基础基本满足我现在的学习需要. 一.MySQL简介 1.MySQL是什么 MySQL是一款安全.跨平台.高效的,并与PHP.Java等主流编程语言紧密结合的数据库系统.该数据库系统是由瑞典的MySQL AB公司开发.发布并支持,由MySQL初

C语言对mysql数据库的操作

原文:C语言对mysql数据库的操作 这已经是一相当老的话题.不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎么使用而进行查阅的! 我们言归正传 1.头文件: #include <stdio.h> #include <stdlib.h> #include <mysql/mysql.h> //这个是必需要包含的,下面对mysql的所有操作函数,都出自这里 2.定义一个MYSQL变量: MYSQL mysql: 这里

MySQL之视图操作

MySQL之视图操作 视图 什么是视图 视图就是一条select语句执行后返回的结果集,所以我们在创建视图的时候,主要的工作就是在创建这条select语句上. 视图的特性 视图是对若干张基本表的引用,是一张虚表,查询语句执行的结果,不存储具体的数据(基本表发生了改变,视图也会跟着被改变) 和基本表一样,也可以增删改查操作(但是增删改操作会有一定的条件限定) 视图的作用 方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性 更加安全,数据库授权命令不能限制到特定的行和特定的列,但是通过合理的

Mysql数据库常用操作

1.备份数据库 [[email protected] ~]# mysqldump -h 192.168.0.8 -uroot  -p'123456'  user >user.sql 2.查看mysql数据库字符集设置 mysql> show variables like 'character_set_%';+--------------------------+----------------------------+| Variable_name            | Value    

MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;