java-JAVA实现点赞功能 if语句

问题描述

JAVA实现点赞功能 if语句
在Goods表中有以下属性
id goods(赞数) news_id(新闻id) user_id()用户id
想在后台做一个判断对于同样的新闻news_id,不能有同样的用户user_id点赞
if语句该如何写?

解决方案

Goods表设计的有问题啊 goods(赞数)应该在新闻表里
goods表只要存id news_id(新闻id) user_id(用户id)
发sql查是否已点赞的时候where条件判断news_id 和 user_id
select count(1) from Goods where news_id=? and user_id=?
值大于0就代表已点赞
只等于0就插入点赞的数据

解决方案二:
你应该有两个参数进来吧 news_id和user_id的吧 select t.* from Goods t where t.user_id=? and t.news_id=?

判断获取到的数据是否为null 如果为空就点赞 如果不为空就不能点赞啊

解决方案三:
Goods goods = new Goods();
if (goods.user_id != user_id) {
//

}
//查询一下也行如果能查出来说明已经点赞过了。
select count(1) from Goods where user_id = ?

解决方案四:
应该有几个方法吧:
1,用户表是否记录用户的点赞记录,如果有记录,并且对这个Goods进行过点赞,则这次点赞就不可以进行,否则可以;
2,新闻表是否记录点赞的用户,如果这个ID的新闻记录点赞用户的记录,并且此次操作的用户的ID包括在内,则这次点赞就不可以进行,否则可以;

解决方案五:
介个和java不java的没多大关系吧!
1、如果Goods表量不大,加载到内存中,有新的客户点赞,遍历Goods集合看其是否对某个商品点过赞
2、数据库处理,select count(1) from Goods where user_id = ?,大于0就是点过赞咯

解决方案六:
(1)sql语句:
两个参数 user_id news_id
number=select * from Goods t where t.user_id=? and t.news_id=?
(2)判断number是否大于1(大于1,表示该用户已点赞)
if(number>1)
{
goods=goods-1; //如果点赞了,就取消
}else{
goods=goods+1; //如果没点赞了,就点赞
}

解决方案七:
把新闻ID和用户ID传过去查询下 id_GOODS (赞数)是不是大于0就行了。大于0就页面按钮不可用,否则UPDATE id_GOODS +1 .

解决方案八:
//传入新闻id 用户id

//根据用户id 查询 该新闻下是否有其点赞记录 记为count
if(count>0){
//不能再点赞了。。。。。。。

}

解决方案九:
必须用数据库记录用户点过赞的信息, 然后取count。

时间: 2024-12-04 10:03:55

java-JAVA实现点赞功能 if语句的相关文章

java 实现比较版本号功能_java

涉及到客户端的系统中经常需要用到比较版本号的功能,但是比较版本号又不能完全按照字符串比较的方式去用compareTo之类的方法: 这就需要我们总结版本号的通用规则,设计一个比较算法并封装成通用方法来使用: 通常版本号如:1.3.20.8,6.82.20160101,8.5a/8.5c等: 通用规则就是,先将版本字符串按照点号分割,然后主版本与主版本比较.此版本与此版本比较,如此按序一级一级往后比较,直到有分出大小: 值得注意的是,很多比较版本号的方法都先将字符串转换成int或者double类型,

java实现屏蔽词功能_java

经常会看到贴吧里面屏蔽各种用户的发帖内容,当时就想这个该如何去实现.自己当时想过用字符串去替代的方式(replaceAll)去实现,但是这种效率又非常低,也不能保证最长匹配,这就是自己当时最初的想法.最近自己做的一个项目中,需要对一些内容做屏蔽,自己又对这个问题做了一次分析,最终形成下面的代码. /** *@Description: 屏蔽词功能实现 */ package cn.yicha.novel.search.util; import java.io.BufferedReader; impo

java 后台实现打印功能

问题描述 java 后台实现打印功能 请问,java 后台怎么实现打印功能?求解 有现成代码的帖出来看看 谢谢了 解决方案 System.out.println就行了,, 解决方案二: 用JAVA实现打印功能用java实现打印功能用java实现打印功能 解决方案三: http://www.ibm.com/developerworks/cn/java/l-javaprint/ 解决方案四: 你说的打印功能是什么意思呢?调用打印机打印,还是就是Eclipse你的控制台打印日志信息呢?后者的话直接我们

JAVA基础培训(6),For循环语句的使用

在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用.所以 我这里就把for循环重点介绍一下. 源代码 package lession6; /** * 老紫竹JAVA基础培训(6),For循环语句的使用.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession6 { /** * for循环有三部分用分号分割<br> * 第一部分是初始的数据<br> * 中

JS自定义对象实现Java中Map对象功能的方法

这篇文章主要介绍了JS自定义对象实现Java中Map对象功能的方法,可实现类似Java中Map对象增删改查等功能,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS自定义对象实现Java中Map对象功能的方法.分享给大家供大家参考.具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象. 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容! 这里Key

c语言-求助一个java语言的一个for循环语句

问题描述 求助一个java语言的一个for循环语句 for(int i=2,j=1; j<10; i=(i==9)?(((++j)/j)+1):(i+1)){ System.out.printf("%d*%d=%2d%c",i,j,i*j, ((i==9)?'n':' ')); } 输出结果是99乘法表. 这个for循环里的++j为什么不能换成j+1啊? 谢谢各位了. 解决方案 ++j是改变变量值的 j+1是不改变变量值的 解决方案二: ++j 等效于j=j+1 你用j+1 原j

java 函数问题不太理解语句的含义

问题描述 java 函数问题不太理解语句的含义 import java.applet.applet; import java.awt.*; public class example4_12 extends applet { Button redbutton; public void init() { redbutton = new Button("我是一个红色的按钮:"); redbutton.setBackground(color.red); add(redbutton); //这句

Flex结合java实现一个登录功能

转自http://www.cnblogs.com/kunpengit/archive/2011/12/06/2277657.html Flex结合java实现一个登录功能 1.  环境的搭建: s 对message-congig.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <service id="remoting-service"     class="flex.m

Java实现验证码验证功能

Java如何实现验证码验证功能呢?日常生活中,验证码随处可见,他可以在一定程度上保护账号安全,那么他是怎么实现的呢? Java实现验证码验证功能其实非常简单:用到了一个Graphics类在画板上绘制字母,随机选取一定数量的字母随机生成,然后在画板上随机生成几条干扰线. 首先,写一个验证码生成帮助类,用来绘制随机字母: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.ima